Rev 4307 | Rev 4332 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4307 | Rev 4327 | ||
---|---|---|---|
Line 38... | Line 38... | ||
38 | #include <async.h> |
38 | #include <async.h> |
39 | #include <malloc.h> |
39 | #include <malloc.h> |
40 | #include <mem.h> |
40 | #include <mem.h> |
41 | #include <rwlock.h> |
41 | #include <rwlock.h> |
42 | #include <stdio.h> |
42 | #include <stdio.h> |
- | 43 | #include <string.h> |
|
43 | #include <task.h> |
44 | #include <task.h> |
44 | 45 | ||
45 | #include <ipc/ipc.h> |
46 | #include <ipc/ipc.h> |
46 | #include <ipc/services.h> |
47 | #include <ipc/services.h> |
47 | 48 | ||
Line 432... | Line 433... | ||
432 | } |
433 | } |
433 | // is my protocol address? |
434 | // is my protocol address? |
434 | if( proto->addr->length != CONVERT_SIZE( uint8_t, char, header->hardware_length )){ |
435 | if( proto->addr->length != CONVERT_SIZE( uint8_t, char, header->hardware_length )){ |
435 | return EINVAL; |
436 | return EINVAL; |
436 | } |
437 | } |
437 | if( ! strncmp( proto->addr->value, ( char * ) des_proto, proto->addr->length )){ |
438 | if( ! str_lcmp( proto->addr->value, ( char * ) des_proto, proto->addr->length )){ |
438 | // not already upadted? |
439 | // not already upadted? |
439 | if( ! hw_source ){ |
440 | if( ! hw_source ){ |
440 | hw_source = measured_string_create_bulk(( char * ) src_hw, CONVERT_SIZE( uint8_t, char, header->hardware_length )); |
441 | hw_source = measured_string_create_bulk(( char * ) src_hw, CONVERT_SIZE( uint8_t, char, header->hardware_length )); |
441 | if( ! hw_source ) return ENOMEM; |
442 | if( ! hw_source ) return ENOMEM; |
442 | ERROR_PROPAGATE( arp_addr_add( & proto->addresses, ( char * ) src_proto, CONVERT_SIZE( uint8_t, char, header->protocol_length ), hw_source )); |
443 | ERROR_PROPAGATE( arp_addr_add( & proto->addresses, ( char * ) src_proto, CONVERT_SIZE( uint8_t, char, header->protocol_length ), hw_source )); |