Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libc/net/getnetnamadr.c
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Lines | net_id_func(char *buffer, size_t *buffer_size, va_list ap, void *cache_mdata) | ||||
char *name; | char *name; | ||||
uint32_t net; | uint32_t net; | ||||
int type; | int type; | ||||
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 46 Lines • ▼ Show 20 Lines | net_marshal_func(char *buffer, size_t *buffer_size, void *retval, va_list ap, | ||||
char *orig_buf; | char *orig_buf; | ||||
size_t orig_buf_size; | size_t orig_buf_size; | ||||
struct netent new_ne; | struct netent new_ne; | ||||
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: | ||||
net = va_arg(ap, uint32_t); | net = va_arg(ap, uint32_t); | ||||
type = va_arg(ap, int); | type = va_arg(ap, int); | ||||
break; | break; | ||||
case nss_lt_all: | case nss_lt_all: | ||||
▲ Show 20 Lines • Show All 71 Lines • ▼ Show 20 Lines | net_unmarshal_func(char *buffer, size_t buffer_size, void *retval, va_list ap, | ||||
struct netent *ne; | struct netent *ne; | ||||
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: | ||||
net = va_arg(ap, uint32_t); | net = va_arg(ap, uint32_t); | ||||
type = va_arg(ap, int); | type = va_arg(ap, int); | ||||
break; | break; | ||||
case nss_lt_all: | case nss_lt_all: | ||||
▲ Show 20 Lines • Show All 221 Lines • Show Last 20 Lines |