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 )); |