The following edits were made: \

1. Updated UDP send data code\
2. Corrected internet checksum\
3. Moved udp_buffer() and udp_buflen() to udp.c from udp.h
This commit is contained in:
Nikhil Chandru Rao
2006-07-19 16:25:23 +00:00
parent b8d619e822
commit ab577e1a3a
4 changed files with 62 additions and 33 deletions

View File

@@ -83,7 +83,7 @@ extern void trans_rx ( struct pk_buff *pkb, uint8_t trans_proto,
extern int trans_tx ( struct pk_buff *pkb, struct tcpip_protocol *tcpip,
struct sockaddr *dest );
extern uint16_t calc_chksum ( void *data, size_t len );
extern uint16_t calc_chksum ( void *b, int len );
extern struct tcpip_protocol * find_tcpip_protocol ( uint8_t trans_proto );
extern struct tcpip_net_protocol * find_tcpip_net_protocol ( sa_family_t sa_family );

View File

@@ -41,6 +41,23 @@ struct udp_connection;
*
*/
struct udp_operations {
/**
* Transmit data
*
* @v conn UDP connection
* @v buf Temporary data buffer
* @v len Length of temporary data buffer
*
* The application may use the temporary data buffer to
* construct the data to be sent. Note that merely filling
* the buffer will do nothing; the application must call
* udp_send() in order to actually transmit the data. Use of
* the buffer is not compulsory; the application may call
* udp_send() on any block of data.
*/
void ( * senddata ) ( struct tcp_connection *conn, void *buf,
size_t len );
/**
* New data received
*
@@ -69,11 +86,6 @@ struct udp_connection {
struct udp_operations *udp_op;
};
/**
* List of registered UDP connections
*/
static LIST_HEAD ( udp_conns );
/**
* UDP protocol
*/