Lines Matching refs:pdesc
39 PWDICT *pdesc; in PWOpen() local
50 if ((pdesc = calloc(1, sizeof (PWDICT))) == NULL) in PWOpen()
53 if (pdesc->header.pih_magic == PIH_MAGIC) { in PWOpen()
56 (void) memset(pdesc, '\0', sizeof (pdesc)); in PWOpen()
75 if (!(pdesc->dfp = fdopen(fd_d, mode))) { in PWOpen()
79 if (!(pdesc->ifp = fdopen(fd_i, mode))) { in PWOpen()
80 (void) fclose(pdesc->dfp); in PWOpen()
84 if (pdesc->wfp = fdopen(fd_w, mode)) { in PWOpen()
85 pdesc->flags |= PFOR_USEHWMS; in PWOpen()
88 ifp = pdesc->ifp; in PWOpen()
89 dfp = pdesc->dfp; in PWOpen()
90 wfp = pdesc->wfp; in PWOpen()
93 pdesc->flags |= PFOR_WRITE; in PWOpen()
94 pdesc->header.pih_magic = PIH_MAGIC; in PWOpen()
95 pdesc->header.pih_blocklen = NUMWORDS; in PWOpen()
96 pdesc->header.pih_numwords = 0; in PWOpen()
98 (void) fwrite((char *)&(pdesc->header), sizeof (pdesc->header), in PWOpen()
101 pdesc->flags &= ~PFOR_WRITE; in PWOpen()
103 if (!fread((char *)&(pdesc->header), sizeof (pdesc->header), in PWOpen()
105 pdesc->header.pih_magic = 0; in PWOpen()
111 if (pdesc->header.pih_magic != PIH_MAGIC) { in PWOpen()
112 pdesc->header.pih_magic = 0; in PWOpen()
118 if (pdesc->header.pih_blocklen != NUMWORDS) { in PWOpen()
119 pdesc->header.pih_magic = 0; in PWOpen()
125 if (pdesc->flags & PFOR_USEHWMS) { in PWOpen()
126 if (fread(pdesc->hwms, 1, sizeof (pdesc->hwms), wfp) != in PWOpen()
127 sizeof (pdesc->hwms)) { in PWOpen()
128 pdesc->flags &= ~PFOR_USEHWMS; in PWOpen()
132 return (pdesc); in PWOpen()