Changeset View
Changeset View
Standalone View
Standalone View
head/lib/libc/net/getservent.c
Show First 20 Lines • Show All 440 Lines • ▼ Show 20 Lines | files_setservent(void *retval, void *mdata, va_list ap) | ||||
struct files_state *st; | struct files_state *st; | ||||
int rv; | int rv; | ||||
int f; | int f; | ||||
rv = files_getstate(&st); | rv = files_getstate(&st); | ||||
if (rv != 0) | if (rv != 0) | ||||
return (NS_UNAVAIL); | return (NS_UNAVAIL); | ||||
switch ((enum constants)mdata) { | switch ((enum constants)(uintptr_t)mdata) { | ||||
case SETSERVENT: | case SETSERVENT: | ||||
f = va_arg(ap,int); | f = va_arg(ap,int); | ||||
if (st->fp == NULL) | if (st->fp == NULL) | ||||
st->fp = fopen(_PATH_SERVICES, "re"); | st->fp = fopen(_PATH_SERVICES, "re"); | ||||
else | else | ||||
rewind(st->fp); | rewind(st->fp); | ||||
st->stayopen |= f; | st->stayopen |= f; | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | db_servent(void *retval, void *mdata, va_list ap) | ||||
struct servent *serv; | struct servent *serv; | ||||
char *buffer; | char *buffer; | ||||
size_t bufsize; | size_t bufsize; | ||||
int *errnop; | int *errnop; | ||||
name = NULL; | name = NULL; | ||||
proto = NULL; | proto = NULL; | ||||
how = (enum nss_lookup_type)mdata; | how = (enum nss_lookup_type)(uintptr_t)mdata; | ||||
switch (how) { | switch (how) { | ||||
case nss_lt_name: | case nss_lt_name: | ||||
name = va_arg(ap, char *); | name = va_arg(ap, char *); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
break; | break; | ||||
case nss_lt_id: | case nss_lt_id: | ||||
port = va_arg(ap, int); | port = va_arg(ap, int); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
▲ Show 20 Lines • Show All 100 Lines • ▼ Show 20 Lines | db_setservent(void *retval, void *mdata, va_list ap) | ||||
struct db_state *st; | struct db_state *st; | ||||
int rv; | int rv; | ||||
int f; | int f; | ||||
rv = db_getstate(&st); | rv = db_getstate(&st); | ||||
if (rv != 0) | if (rv != 0) | ||||
return (NS_UNAVAIL); | return (NS_UNAVAIL); | ||||
switch ((enum constants)mdata) { | switch ((enum constants)(uintptr_t)mdata) { | ||||
case SETSERVENT: | case SETSERVENT: | ||||
f = va_arg(ap, int); | f = va_arg(ap, int); | ||||
st->stayopen |= f; | st->stayopen |= f; | ||||
st->keynum = 0; | st->keynum = 0; | ||||
break; | break; | ||||
case ENDSERVENT: | case ENDSERVENT: | ||||
db = st->db; | db = st->db; | ||||
if (db != NULL) { | if (db != NULL) { | ||||
Show All 39 Lines | nis_servent(void *retval, void *mdata, va_list ap) | ||||
struct servent *serv; | struct servent *serv; | ||||
char *buffer; | char *buffer; | ||||
size_t bufsize; | size_t bufsize; | ||||
int *errnop; | int *errnop; | ||||
name = NULL; | name = NULL; | ||||
proto = NULL; | proto = NULL; | ||||
buf = NULL; | buf = NULL; | ||||
how = (enum nss_lookup_type)mdata; | how = (enum nss_lookup_type)(uintptr_t)mdata; | ||||
switch (how) { | switch (how) { | ||||
case nss_lt_name: | case nss_lt_name: | ||||
name = va_arg(ap, char *); | name = va_arg(ap, char *); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
break; | break; | ||||
case nss_lt_id: | case nss_lt_id: | ||||
port = va_arg(ap, int); | port = va_arg(ap, int); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
▲ Show 20 Lines • Show All 115 Lines • ▼ Show 20 Lines | |||||
{ | { | ||||
struct nis_state *st; | struct nis_state *st; | ||||
int rv; | int rv; | ||||
rv = nis_getstate(&st); | rv = nis_getstate(&st); | ||||
if (rv != 0) | if (rv != 0) | ||||
return (NS_UNAVAIL); | return (NS_UNAVAIL); | ||||
switch ((enum constants)mdata) { | switch ((enum constants)(uintptr_t)mdata) { | ||||
case SETSERVENT: | case SETSERVENT: | ||||
case ENDSERVENT: | case ENDSERVENT: | ||||
free(st->yp_key); | free(st->yp_key); | ||||
st->yp_key = NULL; | st->yp_key = NULL; | ||||
st->yp_stepping = 0; | st->yp_stepping = 0; | ||||
break; | break; | ||||
default: | default: | ||||
break; | break; | ||||
Show All 19 Lines | #ifdef YP | ||||
{ NSSRC_NIS, nis_setservent, mdata }, | { NSSRC_NIS, nis_setservent, mdata }, | ||||
#endif | #endif | ||||
{ NULL, NULL, NULL } | { NULL, NULL, NULL } | ||||
}; | }; | ||||
int f; | int f; | ||||
(void)files_setservent(retval, mdata, ap); | (void)files_setservent(retval, mdata, ap); | ||||
switch ((enum constants)mdata) { | switch ((enum constants)(uintptr_t)mdata) { | ||||
case SETSERVENT: | case SETSERVENT: | ||||
f = va_arg(ap,int); | f = va_arg(ap,int); | ||||
(void)nsdispatch(retval, compat_dtab, NSDB_SERVICES_COMPAT, | (void)nsdispatch(retval, compat_dtab, NSDB_SERVICES_COMPAT, | ||||
"setservent", compat_src, f); | "setservent", compat_src, f); | ||||
break; | break; | ||||
case ENDSERVENT: | case ENDSERVENT: | ||||
(void)nsdispatch(retval, compat_dtab, NSDB_SERVICES_COMPAT, | (void)nsdispatch(retval, compat_dtab, NSDB_SERVICES_COMPAT, | ||||
"endservent", compat_src); | "endservent", compat_src); | ||||
Show All 12 Lines | serv_id_func(char *buffer, size_t *buffer_size, va_list ap, void *cache_mdata) | ||||
char *name; | char *name; | ||||
char *proto; | char *proto; | ||||
int port; | int port; | ||||
size_t desired_size, size, size2; | size_t desired_size, size, size2; | ||||
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 *); | ||||
proto = va_arg(ap, char *); | proto = 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 (proto != NULL) { | if (proto != NULL) { | ||||
▲ Show 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | serv_marshal_func(char *buffer, size_t *buffer_size, void *retval, va_list ap, | ||||
struct servent new_serv; | struct servent new_serv; | ||||
size_t desired_size; | size_t desired_size; | ||||
char **alias; | char **alias; | ||||
char *p; | char *p; | ||||
size_t size; | size_t size; | ||||
size_t aliases_size; | size_t aliases_size; | ||||
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 *); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
break; | break; | ||||
case nss_lt_id: | case nss_lt_id: | ||||
port = va_arg(ap, int); | port = va_arg(ap, int); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 80 Lines • ▼ Show 20 Lines | serv_unmarshal_func(char *buffer, size_t buffer_size, void *retval, va_list ap, | ||||
int port; | int port; | ||||
struct servent *serv; | struct servent *serv; | ||||
char *orig_buf; | char *orig_buf; | ||||
char *p; | char *p; | ||||
char **alias; | char **alias; | ||||
size_t orig_buf_size; | size_t orig_buf_size; | ||||
int *ret_errno; | int *ret_errno; | ||||
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 *); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
break; | break; | ||||
case nss_lt_id: | case nss_lt_id: | ||||
port = va_arg(ap, int); | port = va_arg(ap, int); | ||||
proto = va_arg(ap, char *); | proto = va_arg(ap, char *); | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 312 Lines • Show Last 20 Lines |