Lines Matching defs:pi
35 struct pnpinfo *pi;
72 STAILQ_FOREACH(pi, &pnp_devices, pi_link) {
73 pager_output(STAILQ_FIRST(&pi->pi_ident)->id_ident); /* first ident should be canonical */
74 if (pi->pi_desc != NULL) {
76 pager_output(pi->pi_desc);
91 struct pnpinfo *pi;
94 pi = STAILQ_FIRST(&pnp_devices);
96 pnp_freeinfo(pi);
101 * Add a unique identifier to (pi)
104 pnp_addident(struct pnpinfo *pi, char *ident)
108 STAILQ_FOREACH(id, &pi->pi_ident, id_link)
114 STAILQ_INSERT_TAIL(&pi->pi_ident, id, id_link);
123 struct pnpinfo *pi;
125 pi = malloc(sizeof(struct pnpinfo));
126 bzero(pi, sizeof(struct pnpinfo));
127 STAILQ_INIT(&pi->pi_ident);
128 return(pi);
135 pnp_freeinfo(struct pnpinfo *pi)
139 while (!STAILQ_EMPTY(&pi->pi_ident)) {
140 id = STAILQ_FIRST(&pi->pi_ident);
141 STAILQ_REMOVE_HEAD(&pi->pi_ident, id_link);
145 if (pi->pi_desc)
146 free(pi->pi_desc);
147 if (pi->pi_module)
148 free(pi->pi_module);
149 if (pi->pi_argv)
150 free(pi->pi_argv);
151 free(pi);
158 pnp_addinfo(struct pnpinfo *pi)
160 STAILQ_INSERT_TAIL(&pnp_devices, pi, pi_link);