Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libc/net/getprotoent.c
Show First 20 Lines • Show All 91 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
char *name; | char *name; | ||||
int proto; | int proto; | ||||
size_t desired_size, size; | size_t desired_size, size; | ||||
enum nss_lookup_type lookup_type; | enum nss_lookup_type lookup_type; | ||||
int res = NS_UNAVAIL; | int res = NS_UNAVAIL; | ||||
lookup_type = (enum nss_lookup_type)cache_mdata; | lookup_type = (enum nss_lookup_type)(uintptr_t)cache_mdata; | ||||
switch (lookup_type) { | switch (lookup_type) { | ||||
case nss_lt_name: | case nss_lt_name: | ||||
name = va_arg(ap, char *); | name = va_arg(ap, char *); | ||||
size = strlen(name); | size = strlen(name); | ||||
desired_size = sizeof(enum nss_lookup_type) + size + 1; | desired_size = sizeof(enum nss_lookup_type) + size + 1; | ||||
if (desired_size > *buffer_size) { | if (desired_size > *buffer_size) { | ||||
res = NS_RETURN; | res = NS_RETURN; | ||||
▲ Show 20 Lines • Show All 41 Lines • ▼ Show 20 Lines | __proto_marshal_func(char *buffer, size_t *buffer_size, void *retval, | ||||
char *orig_buf; | char *orig_buf; | ||||
size_t orig_buf_size; | size_t orig_buf_size; | ||||
struct protoent new_proto; | struct protoent new_proto; | ||||
size_t desired_size, size, aliases_size; | size_t desired_size, size, aliases_size; | ||||
char *p; | char *p; | ||||
char **alias; | char **alias; | ||||
switch ((enum nss_lookup_type)cache_mdata) { | switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { | ||||
case nss_lt_name: | case nss_lt_name: | ||||
name = va_arg(ap, char *); | name = va_arg(ap, char *); | ||||
break; | break; | ||||
case nss_lt_id: | case nss_lt_id: | ||||
num = va_arg(ap, int); | num = va_arg(ap, int); | ||||
break; | break; | ||||
case nss_lt_all: | case nss_lt_all: | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 69 Lines • ▼ Show 20 Lines | __proto_unmarshal_func(char *buffer, size_t buffer_size, void *retval, | ||||
struct protoent *proto; | struct protoent *proto; | ||||
char *orig_buf; | char *orig_buf; | ||||
size_t orig_buf_size; | size_t orig_buf_size; | ||||
int *ret_errno; | int *ret_errno; | ||||
char *p; | char *p; | ||||
char **alias; | char **alias; | ||||
switch ((enum nss_lookup_type)cache_mdata) { | switch ((enum nss_lookup_type)(uintptr_t)cache_mdata) { | ||||
case nss_lt_name: | case nss_lt_name: | ||||
name = va_arg(ap, char *); | name = va_arg(ap, char *); | ||||
break; | break; | ||||
case nss_lt_id: | case nss_lt_id: | ||||
num = va_arg(ap, int); | num = va_arg(ap, int); | ||||
break; | break; | ||||
case nss_lt_all: | case nss_lt_all: | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 303 Lines • Show Last 20 Lines |