mirror of
https://github.com/xcat2/xNBA.git
synced 2024-12-15 15:51:44 +00:00
48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
|
#include "background.h"
|
||
|
|
||
|
static struct background backgrounds[0] __table_start ( background );
|
||
|
static struct background backgrounds_end[0] __table_end ( background );
|
||
|
|
||
|
/** @file */
|
||
|
|
||
|
/**
|
||
|
* Call send method of all background protocols
|
||
|
*
|
||
|
* @v timestamp Current time
|
||
|
* @ret None -
|
||
|
* @err None -
|
||
|
*
|
||
|
* This calls each background protocol's background::send() method.
|
||
|
*/
|
||
|
void background_send ( unsigned long timestamp ) {
|
||
|
struct background *background;
|
||
|
|
||
|
for ( background = backgrounds ; background < backgrounds_end ;
|
||
|
background++ ) {
|
||
|
if ( background->send )
|
||
|
background->send ( timestamp );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Call process method of all background protocols
|
||
|
*
|
||
|
* @v timestamp Current time
|
||
|
* @v ptype Packet type
|
||
|
* @v ip IP header, if present
|
||
|
* @ret None -
|
||
|
* @err None -
|
||
|
*
|
||
|
* This calls each background protocol's background::process() method.
|
||
|
*/
|
||
|
void background_process ( unsigned long timestamp, unsigned short ptype,
|
||
|
struct iphdr *ip ) {
|
||
|
struct background *background;
|
||
|
|
||
|
for ( background = backgrounds ; background < backgrounds_end ;
|
||
|
background++ ) {
|
||
|
if ( background->process )
|
||
|
background->process ( timestamp, ptype, ip );
|
||
|
}
|
||
|
}
|