Lines Matching defs:pd
57 setprotoent_r(int f, struct protoent_data *pd)
59 if (pd->fp == NULL)
60 pd->fp = fopen(_PATH_PROTOCOLS, "re");
62 rewind(pd->fp);
63 pd->stayopen |= f;
67 endprotoent_r(struct protoent_data *pd)
69 if (pd->fp) {
70 (void)fclose(pd->fp);
71 pd->fp = NULL;
73 if (pd->aliases) {
74 free(pd->aliases);
75 pd->aliases = NULL;
76 pd->maxaliases = 0;
78 if (pd->line) {
79 free(pd->line);
80 pd->line = NULL;
82 pd->stayopen = 0;
86 getprotoent_r(struct protoent *pr, struct protoent_data *pd)
92 if (pd->fp == NULL && (pd->fp = fopen(_PATH_PROTOCOLS, "re")) == NULL)
96 if (pd->line)
97 free(pd->line);
98 pd->line = fparseln(pd->fp, NULL, NULL, NULL,
100 if (pd->line == NULL)
102 pr->p_name = p = pd->line;
113 if (pd->aliases == NULL) {
114 pd->aliases = NULL;
115 pd->maxaliases = 10;
116 errno = reallocarr(&pd->aliases,
117 pd->maxaliases, sizeof(*pd->aliases));
121 q = pr->p_aliases = pd->aliases;
129 if (i == pd->maxaliases - 2) {
130 pd->maxaliases *= 2;
132 pd->maxaliases, sizeof(*q));
135 pr->p_aliases = pd->aliases = q;
149 endprotoent_r(pd);