Lines Matching defs:pdesc
34 PWDICT *pdesc;
45 if ((pdesc = calloc(1, sizeof (PWDICT))) == NULL)
48 if (pdesc->header.pih_magic == PIH_MAGIC) {
49 free(pdesc);
52 (void) memset(pdesc, '\0', sizeof (pdesc));
71 if (!(pdesc->dfp = fdopen(fd_d, mode))) {
72 free(pdesc);
76 if (!(pdesc->ifp = fdopen(fd_i, mode))) {
77 (void) fclose(pdesc->dfp);
78 free(pdesc);
82 if (pdesc->wfp = fdopen(fd_w, mode)) {
83 pdesc->flags |= PFOR_USEHWMS;
86 ifp = pdesc->ifp;
87 dfp = pdesc->dfp;
88 wfp = pdesc->wfp;
91 pdesc->flags |= PFOR_WRITE;
92 pdesc->header.pih_magic = PIH_MAGIC;
93 pdesc->header.pih_blocklen = NUMWORDS;
94 pdesc->header.pih_numwords = 0;
96 (void) fwrite((char *)&(pdesc->header), sizeof (pdesc->header),
99 pdesc->flags &= ~PFOR_WRITE;
101 if (!fread((char *)&(pdesc->header), sizeof (pdesc->header),
103 pdesc->header.pih_magic = 0;
106 free(pdesc);
110 if (pdesc->header.pih_magic != PIH_MAGIC) {
111 pdesc->header.pih_magic = 0;
114 free(pdesc);
118 if (pdesc->header.pih_blocklen != NUMWORDS) {
119 pdesc->header.pih_magic = 0;
122 free(pdesc);
126 if (pdesc->flags & PFOR_USEHWMS) {
127 if (fread(pdesc->hwms, 1, sizeof (pdesc->hwms), wfp) !=
128 sizeof (pdesc->hwms)) {
129 pdesc->flags &= ~PFOR_USEHWMS;
133 return (pdesc);