Lines Matching refs:pdesc
35 PWDICT *pdesc; in PWOpen() local
46 if ((pdesc = calloc(1, sizeof (PWDICT))) == NULL) in PWOpen()
49 if (pdesc->header.pih_magic == PIH_MAGIC) { in PWOpen()
52 (void) memset(pdesc, '\0', sizeof (pdesc)); in PWOpen()
71 if (!(pdesc->dfp = fdopen(fd_d, mode))) { in PWOpen()
75 if (!(pdesc->ifp = fdopen(fd_i, mode))) { in PWOpen()
76 (void) fclose(pdesc->dfp); in PWOpen()
80 if (pdesc->wfp = fdopen(fd_w, mode)) { in PWOpen()
81 pdesc->flags |= PFOR_USEHWMS; in PWOpen()
84 ifp = pdesc->ifp; in PWOpen()
85 dfp = pdesc->dfp; in PWOpen()
86 wfp = pdesc->wfp; in PWOpen()
89 pdesc->flags |= PFOR_WRITE; in PWOpen()
90 pdesc->header.pih_magic = PIH_MAGIC; in PWOpen()
91 pdesc->header.pih_blocklen = NUMWORDS; in PWOpen()
92 pdesc->header.pih_numwords = 0; in PWOpen()
94 (void) fwrite((char *)&(pdesc->header), sizeof (pdesc->header), in PWOpen()
97 pdesc->flags &= ~PFOR_WRITE; in PWOpen()
99 if (!fread((char *)&(pdesc->header), sizeof (pdesc->header), in PWOpen()
101 pdesc->header.pih_magic = 0; in PWOpen()
107 if (pdesc->header.pih_magic != PIH_MAGIC) { in PWOpen()
108 pdesc->header.pih_magic = 0; in PWOpen()
114 if (pdesc->header.pih_blocklen != NUMWORDS) { in PWOpen()
115 pdesc->header.pih_magic = 0; in PWOpen()
121 if (pdesc->flags & PFOR_USEHWMS) { in PWOpen()
122 if (fread(pdesc->hwms, 1, sizeof (pdesc->hwms), wfp) != in PWOpen()
123 sizeof (pdesc->hwms)) { in PWOpen()
124 pdesc->flags &= ~PFOR_USEHWMS; in PWOpen()
128 return (pdesc); in PWOpen()