98 |
#undef __PF |
#undef __PF |
99 |
|
|
100 |
|
|
101 |
const char *ll_proto_n2a(unsigned short id, char *buf, int len) |
const char* FAST_FUNC ll_proto_n2a(unsigned short id, char *buf, int len) |
102 |
{ |
{ |
103 |
unsigned i; |
unsigned i; |
104 |
id = ntohs(id); |
id = ntohs(id); |
110 |
return buf; |
return buf; |
111 |
} |
} |
112 |
|
|
113 |
int ll_proto_a2n(unsigned short *id, char *buf) |
int FAST_FUNC ll_proto_a2n(unsigned short *id, char *buf) |
114 |
{ |
{ |
115 |
unsigned i; |
unsigned i; |
116 |
for (i = 0; i < ARRAY_SIZE(llproto_names); i++) { |
for (i = 0; i < ARRAY_SIZE(llproto_names); i++) { |
117 |
if (strcasecmp(llproto_names[i].name, buf) == 0) { |
if (strcasecmp(llproto_names[i].name, buf) == 0) { |
118 |
*id = htons(llproto_names[i].id); |
i = llproto_names[i].id; |
119 |
return 0; |
goto good; |
120 |
} |
} |
121 |
} |
} |
122 |
if (get_u16(id, buf, 0)) |
i = bb_strtou(buf, NULL, 0); |
123 |
|
if (errno || i > 0xffff) |
124 |
return -1; |
return -1; |
125 |
*id = htons(*id); |
good: |
126 |
|
*id = htons(i); |
127 |
return 0; |
return 0; |
128 |
} |
} |
129 |
|
|