Lines Matching refs:psp

227 	struct parse_state *psp;
234 psp = slp->sl_parse;
235 cfile = psp->ps_cfile;
341 psp->ps_csvc = &psp->ps_cfile->pf_global;
365 struct parse_state *psp;
372 psp = slp->sl_parse;
381 cfile = psp->ps_cfile;
393 slp->sl_serial = psp->ps_serial++;
394 slp->sl_parse = psp;
397 psp->ps_csvc = slp;
495 struct parse_state *psp;
516 psp = slp->sl_parse;
517 pfp->pf_prev = psp->ps_cfile;
518 psp->ps_cfile = pfp;
521 psp->ps_csvc = &pfp->pf_global;
522 pfp->pf_global.sl_parse = psp;
533 struct parse_state *psp = slp->sl_parse;
541 if (psp->ps_flags & PSF_PERDEV) {
543 psp->ps_cfile->pf_name);
550 slp->sl_dev = psp->ps_star;
566 psp->ps_cfile->pf_name, len, cp);
579 logdbg("%s: device %s", psp->ps_cfile->pf_name,
604 struct parse_state *psp = slp->sl_parse;
657 psp->ps_cfile->pf_name, len, cp);
666 fen->fe_isexcept = psp->ps_state == ksClientE;
805 file_end(struct parse_state *psp)
810 if (psp->ps_state != ksDefault) {
811 logerr("%s ends with \"%s\"", psp->ps_cfile->pf_name,
812 after_key(psp->ps_state));
813 psp->ps_state = ksDefault;
815 close_service(psp->ps_csvc);
816 if ((pfp = psp->ps_cfile) != NULL) {
818 psp->ps_cfile = pfp->pf_prev;
819 pfp->pf_prev = psp->ps_files;
820 psp->ps_files = pfp;
828 if ((pfp = psp->ps_cfile) != NULL)
829 psp->ps_csvc = &pfp->pf_global;
839 dispatch_keyword(struct parse_state *psp, const char *keybuf)
850 if (kep->kwe_in == psp->ps_state &&
854 retv = (*kep->kwe_func)(psp->ps_csvc, keybuf);
855 psp->ps_state = kep->kwe_out;
865 if ((evlist = psp->ps_evlist) == NULL) {
866 psp->ps_evlist = evlist =
873 psp->ps_evsize = 8;
882 evlist-psp->ps_evlist >= psp->ps_evsize-1) {
883 evlist = (char **)realloc(psp->ps_evlist,
884 (psp->ps_evsize + 8) * sizeof (*evlist));
887 psp->ps_evsize + 8);
891 psp->ps_evlist = evlist;
892 evlist += psp->ps_evsize - 1;
893 psp->ps_evsize += 8;
903 logerr("%s: unknown keyword '%s'", psp->ps_cfile->pf_name, keybuf);
914 my_getenv(struct parse_state *psp, char *estr)
919 if (psp != NULL && (evlist = psp->ps_evlist) != NULL) {
932 * return pointer to next spot in buffer for character append. psp
936 env_replace(struct parse_state *psp, char *keybuf, char kwstate)
942 if ((cpe = my_getenv(psp, cp + 1)) != NULL) {
975 * psp may be null; it's used only for environment variable expansion.
984 getkeyword(struct parse_state *psp, char *keybuf, int keymax,
1071 kbp = env_replace(psp, keybuf, kwstate);
1085 kbp = env_replace(psp, keybuf, kwstate);
1165 parse_from_file(struct parse_state *psp)
1170 while (psp->ps_cfile != NULL && psp->ps_cfile->pf_input != NULL) {
1171 retv = getkeyword(psp, keybuf, sizeof (keybuf),
1172 (int (*)(void *))fgetc, (void *)psp->ps_cfile->pf_input,
1176 (void) dispatch_keyword(psp, keybuf);
1179 file_end(psp);
1189 parse_file(struct parse_state *psp, const char *fname)
1196 if (set_file(psp->ps_csvc, fname) == 0)
1197 parse_from_file(psp);
1205 parse_arg_list(struct parse_state *psp, int argc, char **argv)
1211 (void) dispatch_keyword(psp, *++argv);
1212 if (psp->ps_cfile->pf_input != NULL)
1213 parse_from_file(psp);
1281 get_unique_devs(struct parse_state *psp)
1292 ndevs = count_per_file(psp->ps_files);
1293 ndevs += count_per_file(psp->ps_cfile);
1304 dnp = per_file_to_list(psp->ps_files, dnames);
1305 (void) per_file_to_list(psp->ps_cfile, dnp);
1323 organize_state(struct parse_state *psp)
1342 close_service(psp->ps_csvc);
1343 psp->ps_csvc = NULL;
1344 if ((pfp = psp->ps_cfile) != NULL) {
1345 pfp->pf_prev = psp->ps_files;
1346 psp->ps_files = pfp;
1347 psp->ps_cfile = NULL;
1351 pftopp = psp->ps_files;
1367 for (slp = psp->ps_files->pf_svc; slp != NULL; slp = slp->sl_next)
1374 dnames = get_unique_devs(psp);
1398 osp->os_pfjunk = psp->ps_files;
1399 psp->ps_files = NULL;
1400 osp->os_evjunk = psp->ps_evlist;
1401 psp->ps_evlist = NULL;
1578 get_device_list(struct parse_state *psp, int tunfd)
1590 dlpp = &psp->ps_star;
1624 for (dlpp = &psp->ps_star; (dlp = *dlpp) != NULL; ) {
1642 dlp->dl_next = psp->ps_star;
1643 psp->ps_star = dlp;