servtab
chargen_dg(int s, struct servtab *sep) /* Character generator */
chargen_stream(int s, struct servtab *sep) /* Character generator */
daytime_dg(int s, struct servtab *sep) /* Return human-readable time of day */
daytime_stream(int s, struct servtab *sep __unused) /* Return human-readable time of day */
discard_dg(int s, struct servtab *sep __unused) /* Discard service -- ignore data */
discard_stream(int s, struct servtab *sep) /* Discard service -- ignore data */
echo_dg(int s, struct servtab *sep) /* Echo service -- echo data back */
echo_stream(int s, struct servtab *sep) /* Echo service -- echo data back */
ident_stream(int s, struct servtab *sep) /* Ident service (AKA "auth") */
void chargen_dg(int, struct servtab *);
void chargen_stream(int, struct servtab *) __dead2;
void daytime_dg(int, struct servtab *);
void daytime_stream(int, struct servtab *);
void discard_dg(int, struct servtab *);
void discard_stream(int, struct servtab *) __dead2;
void echo_dg(int, struct servtab *);
void echo_stream(int, struct servtab *) __dead2;
void ident_stream(int, struct servtab *) __dead2;
void machtime_dg(int, struct servtab *);
void machtime_stream(int, struct servtab *);
machtime_dg(int s, struct servtab *sep)
machtime_stream(int s, struct servtab *sep __unused)
struct servtab *
struct servtab *sep;
for (sep = servtab; sep; sep = sep->se_next) {
for (sep = servtab; sep; sep = sep->se_next) {
sepp = &servtab;
unregisterrpc(struct servtab *sep)
struct servtab *sepp;
for (sepp = servtab; sepp; sepp = sepp->se_next) {
struct servtab *sep;
for (sep = servtab; sep; sep = sep->se_next)
setup(struct servtab *sep)
close_sep(struct servtab *sep)
struct servtab *
enter(struct servtab *cp)
struct servtab *sep;
sep = (struct servtab *)malloc(sizeof (*sep));
sep->se_next = servtab;
servtab = sep;
enable(struct servtab *sep)
disable(struct servtab *sep)
struct servtab serv;
struct servtab *
struct servtab *sep = &serv;
freeconfig(struct servtab *cp)
void close_sep(struct servtab *);
check_loop(const struct sockaddr *sa, const struct servtab *sep)
struct servtab *se2;
for (se2 = servtab; se2; se2 = se2->se_next) {
int cpmip(const struct servtab *, int);
struct servtab *enter(struct servtab *);
print_service(const char *action, const struct servtab *sep)
void freeconfig(struct servtab *);
struct servtab *getconfigent(void);
void addchild(struct servtab *, int);
cpmip(const struct servtab *sep, int ctrl)
void enable(struct servtab *);
void disable(struct servtab *);
void setup(struct servtab *);
void unregisterrpc(struct servtab *sep);
static struct conninfo *search_conn(struct servtab *sep, int ctrl);
static int room_conn(struct servtab *sep, struct conninfo *conn);
search_conn(struct servtab *sep, int ctrl)
static void resize_conn(struct servtab *sep, int maxperip);
static void free_connlist(struct servtab *sep);
room_conn(struct servtab *sep, struct conninfo *conn)
resize_conn(struct servtab *sep, int maxpip)
free_connlist(struct servtab *sep)
struct servtab *servtab;
struct servtab *sep;
for (sep = servtab; n && sep; sep = sep->se_next)
addchild(struct servtab *sep, pid_t pid)
struct servtab *sep;
for (sep = servtab; sep; sep = sep->se_next) {
struct servtab *sep, *new, **sepp;
for (sep = servtab; sep; sep = sep->se_next)
for (sep = servtab; sep; sep = sep->se_next)
struct servtab *se_next;
int check_loop(const struct sockaddr *, const struct servtab *sep);
void print_service(const char *, const struct servtab *);
struct servtab *tcpmux(int);
extern struct servtab *servtab;
typedef void (bi_fn_t)(int, struct servtab *);