-+-+-+-+-+-+-+-+ START OF PART 240 -+-+-+-+-+-+-+-+
X#ifdef SUN
X  Pint size;
X#endif
X#ifdef VMS
X  Pelsize size;
X#endif
X`20
X  stid = readintvalue("structure identifier ? ", PTKESTRUCTID);
X  elptr = readinteger("element pointer ? ");
X  pinqelemtypesize(stid, elptr, &err, &eltype, &size);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "element type = ");
X      writephigsenum(PTKEINFORM, PTKEELTYPE, eltype);
X#ifdef SUN
X      phinprintf(PTKEINFORM, "element size = ");
X      writeinteger(PTKEINFORM, size);
X#endif
X#ifdef VMS
X      switch(eltype)
X      `7B
X        case PEL_POLYLINE3:
X        case PEL_POLYMARKER3:
X        case PEL_FILL_AREA3:
X          phinprintf(PTKEINFORM, "number of points = ");
X          writeinteger(PTKEINFORM, size.number);
X          break;
X `20
X        case PEL_POLYLINE:
X        case PEL_POLYMARKER:
X        case PEL_FILL_AREA:
X          phinprintf(PTKEINFORM, "number of points = ");
X          writeinteger(PTKEINFORM, size.number);
X          break;
X `20
X        case PEL_FILL_AREA_SET3:
X          phinprintf(PTKEINFORM, "total number of points = ");
X          writeinteger(PTKEINFORM, size.fas_size.total_pts);
X          phinprintf(PTKEINFORM, "number of bounds = ");
X          writeinteger(PTKEINFORM, size.fas_size.num_bounds);
X          break;
X `20
X        case PEL_FILL_AREA_SET:
X          phinprintf(PTKEINFORM, "total number of points = ");
X          writeinteger(PTKEINFORM, size.fas_size.total_pts);
X          phinprintf(PTKEINFORM, "number of bounds = ");
X          writeinteger(PTKEINFORM, size.fas_size.num_bounds);
X          break;
X `20
X        default:
X          phinprintf(PTKEINFORM, "element size = ");
X          writeinteger(PTKEINFORM, size.number);
X          break;
X      `7D
X#endif
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X`7D  /* do_pinqelemtypesize */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqerrorhandmode()
X`7B
X  Pint err;
X  Perrormode mode;
X
X  pinqerrorhandmode(&err, &mode);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "error mode = ");
X      writephigsenum(PTKEINFORM, PTKEERRORMODE, mode);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X`7D  /* do_pinqerrorhandmode */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqgdp()
X`7B
X  Pwstype wstype;
X  Pint gdp, err, numatts, i;
X  Pattrs atts`5B5`5D;
X
X  readwstype(&wstype);
X  gdp = readinteger("GDP identifier ? ");
X  pinqgdp(wstype, gdp, &err, &numatts, atts);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "GDP attributes:\n");
X      for (i = 0; i < numatts; i++)
X      `7B
X        phinprintf(PTKEINFORM, "attribute set = ");
X        writephigsenum(PTKEINFORM, PTKEATTRS, atts`5Bi`5D);
X      `7D
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X`7D  /* do_pinqgdp */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqgdp3()
X`7B
X  Pwstype wstype;
X  Pint gdp, err, numatts, i;
X  Pattrs atts`5B5`5D;
X
X  readwstype(&wstype);
X  gdp = readinteger("GDP identifier ? ");
X  pinqgdp3(wstype, gdp, &err, &numatts, atts);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "GDP attributes:\n");
X      for (i = 0; i < numatts; i++)
X      `7B
X        phinprintf(PTKEINFORM, "attribute set = ");
X        writephigsenum(PTKEINFORM, PTKEATTRS, atts`5Bi`5D);
X      `7D
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X`7D  /* do_pinqgdp3 */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqgsefacil()
X`7B
X  Pint start, err, totlength, i;
X  Pgseiddeplst gse;
X
X  start = readinteger("starting position ? ");
X  pinqgsefacil(0, start, &err, &gse, &totlength);
X  gse.id_depend = (Pgseiddep *)calloc(totlength, sizeof(Pgseiddep));
X  gse.number = totlength;
X  pinqgsefacil(totlength, start, &err, &gse, &totlength);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "GSE facilities:\n");
X      for (i = 0; i < gse.number; i++)
X      `7B
X        phinprintf(PTKEINFORM, "GSE identifier `5B%d`5D = %d\n", i,`20
X                gse.id_depend`5Bi`5D.id);
X        phinprintf(PTKEINFORM, "GSE WS dep indicator = ");
X#ifdef SUN
X        writephigsenum(PTKEINFORM, PTKEWSDEP,`20
X                       gse.id_depend`5Bi`5D.indicator);
X#endif
X#ifdef VMS
X        writephigsenum(PTKEINFORM, PTKEWSDEP,`20
X                       gse.id_depend`5Bi`5D.indictor);
X#endif
X      `7D
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X  free(gse.id_depend);
X`7D  /* do_pinqgsefacil */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqhilightfilter()
X`7B
X  Pint wsid, instart, exstart, err, totinlen, totexlen, i;
X  Pintlst inlst, exlst;
X
X  wsid = readinteger("workstation identifier ? ");
X  instart = readinteger("starting position in inclusion set ? ");
X  exstart = readinteger("starting position in exclusion set ? ");
X  pinqhilightfilter(wsid, 0, instart, 0, exstart, &err, &inlst,`20
X                    &totinlen, &exlst, &totexlen);
X  inlst.integers = (Pint *)calloc(totinlen, sizeof(Pint));
X  exlst.integers = (Pint *)calloc(totexlen, sizeof(Pint));
X  inlst.number = totinlen;
X  exlst.number = totexlen;
X  pinqhilightfilter(wsid, totinlen, instart, totexlen, exstart, &err, &inlst
V,`20
X                    &totinlen, &exlst, &totexlen);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "inclusion set:\n");
X      writeintlst(PTKEINFORM, &inlst, PTKENAME);
X      phinprintf(PTKEINFORM, "exclusion set:\n");
X      writeintlst(PTKEINFORM, &exlst, PTKENAME);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X  free(inlst.integers);
X  free(exlst.integers);
X`7D  /* do_pinqhilightfilter */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqhlhsrfacil()
X`7B
X  Pwstype wstype;
X  Pint wsid, idstart, modestart, err, totidlen, totmodelen, i;
X  Pintlst ids, modes;
X
X  readwstype(&wstype);
X  idstart = readinteger("starting position in id list ? ");
X  modestart = readinteger("starting position in mode list ? ");
X  pinqhlhsrfacil(wstype, 0, idstart, 0, modestart, &err, &ids,`20
X                 &modes, &totidlen, &totmodelen);
X  ids.integers = (Pint *)calloc(totidlen, sizeof(Pint));
X  modes.integers = (Pint *)calloc(totmodelen, sizeof(Pint));
X  ids.number = totidlen;
X  modes.number = totmodelen;
X  pinqhlhsrfacil(wstype, totidlen, idstart, totmodelen, modestart, &err,`20
X                 &ids, &modes, &totidlen, &totmodelen);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "HLHSR identifiers:\n");
X      writeintlst(PTKEINFORM, &ids, PTKENOTABLE);
X      phinprintf(PTKEINFORM, "HLHSR modes:\n");
X      writeintlst(PTKEINFORM, &modes, PTKENOTABLE);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X  free(ids.integers);
X  free(modes.integers);
X`7D  /* do_pinqhlhsrfacil */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqhlhsrmode()
X`7B
X  Pint wsid, err, curmode, reqmode;
X  Pupdatest state;
X
X  wsid = readinteger("workstation identifier ? ");
X  pinqhlhsrmode(wsid, &err, &state, &curmode, &reqmode);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "HLHSR update state = ");
X      writephigsenum(PTKEINFORM, PTKEUPDATEST, state);
X      phinprintf(PTKEINFORM, "current HLHSR mode = ");
X      writeinteger(PTKEINFORM, curmode);
X      phinprintf(PTKEINFORM, "requested HLHSR mode = ");
X      writeinteger(PTKEINFORM, reqmode);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X`7D  /* do_pinqhlhsrmode */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqinputoverflow()
X`7B
X  Pint err, wsid, dev;
X  Piclass class;
X
X  pinqinputoverflow(&err, &wsid, &class, &dev);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "workstation identifier = ");
X      writeinteger(PTKEINFORM, wsid);
X      phinprintf(PTKEINFORM, "input class = ");
X      writephigsenum(PTKEINFORM, PTKEICLASS, class);
X      phinprintf(PTKEINFORM, "input device number = ");
X      writeinteger(PTKEINFORM, dev);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X`7D  /* do_pinqinputoverflow */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqintfacil()
X`7B
X  Pwstype wstype;
X  Pint instart, hatstart, err, totinlen, tothatlen, i;
X  Pinterfac facil;
X
X  readwstype(&wstype);
X  instart = readinteger("starting position in interior list ? ");
X  hatstart = readinteger("starting position in hatch list ? ");
X  pinqintfacil(wstype, 0, instart, 0, hatstart, &err, &facil,
X               &totinlen, &tothatlen);
X  facil.hatches.integers = (Pint *)calloc(tothatlen, sizeof(Pint));
X  facil.interiors = (Pinterstyle *)calloc(totinlen, sizeof(Pinterstyle));
X  facil.n_inter = totinlen;
X  facil.hatches.number = tothatlen;
X  pinqintfacil(wstype, totinlen, instart, tothatlen, hatstart, &err,`20
X               &facil, &totinlen, &tothatlen);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "interior styles:\n");
X      writeenumlist(PTKEINFORM, PTKEINTERSTYLE, facil.n_inter,`20
X                    facil.interiors);
X      phinprintf(PTKEINFORM, "hatch styles:\n");
X      writeintlst(PTKEINFORM, &facil.hatches, PTKENOTABLE);
X      phinprintf(PTKEINFORM, "number of predefined bundles = ");
X      writeinteger(PTKEINFORM, facil.predefined);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X  free(facil.interiors);
X  free(facil.hatches.integers);
X`7D  /* do_pinqintfacil */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqintrep()
X`7B
X  Pint wsid, index, err;
X  Pinqtype type;
X  Pinterbundl rep;
X
X  wsid = readinteger("workstation identifier ? ");
X  index = readinteger("interior index ? ");
X  type = readphigsenum(PTKEINQTYPE, "type of value ? ");
X  pinqintrep(wsid, index, type, &err, &rep);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "interior representation:\n");
X      writeinterbundl(PTKEINFORM, &rep);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X`7D  /* do_pinqintrep */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqinvisfilter()
X`7B
X  Pint wsid, instart, exstart, err, totinlen, totexlen, i;
X  Pintlst inlst, exlst;
X
X  wsid = readinteger("workstation identifier ? ");
X  instart = readinteger("starting position in inclusion set ? ");
X  exstart = readinteger("starting position in exclusion set ? ");
X  pinqinvisfilter(wsid, 0, instart, 0, exstart, &err, &inlst,`20
X                    &totinlen, &exlst, &totexlen);
X  inlst.integers = (Pint *)calloc(totinlen, sizeof(Pint));
X  exlst.integers = (Pint *)calloc(totexlen, sizeof(Pint));
X  inlst.number = totinlen;
X  exlst.number = totexlen;
X  pinqinvisfilter(wsid, totinlen, instart, totexlen, exstart, &err, &inlst,`
V20
X                    &totinlen, &exlst, &totexlen);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "inclusion set:\n");
X      writeintlst(PTKEINFORM, &inlst, PTKENAME);
X      phinprintf(PTKEINFORM, "exclusion set:\n");
X      writeintlst(PTKEINFORM, &exlst, PTKENAME);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X  free(inlst.integers);
X  free(exlst.integers);
X`7D  /* do_pinqinvisfilter */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqavailgdp()
X`7B
X  Pwstype wstype;
X  Pint start, err, totlen, i;
X  Pintlst gdps;
X
X  readwstype(&wstype);
X  start = readinteger("starting position ? ");
X  pinqavailgdp(wstype, 0, start, &err, &gdps, &totlen);
X  gdps.number = totlen;
X  gdps.integers = (Pint *)calloc(totlen, sizeof(Pint));
X  pinqavailgdp(wstype, totlen, start, &err, &gdps, &totlen);
X  if (writeinform)
X  `7B
X    phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D
V);
X    if (err == 0)
X    `7B
X      phinprintf(PTKEINFORM, "GDP identifiers:\n");
X      writeintlst(PTKEINFORM, &gdps, PTKENOTABLE);
X    `7D
X    else
X      phigserror(PTKEINFORM, err);
X  `7D
X  free(gdps.integers);
X`7D  /* do_pinqavailgdp */
X
X/*--------------------------------------------------------------------------
V*/
X
Xstatic void do_pinqavailgdp3()
X`7B
X  Pwstype wstype;
X  Pint start, err, totlen, i;
X  Pintlst gdps;
X
X  readwstype(&wstype);
X  start = readinteger("starting position ? ");
X  pinqavailgdp3(wstype, 0, start, &err, &gdps, &totlen);
X  gdps.number = totlen;
X  gdps.integers = (Pint *)calloc(totlen, sizeof(Pint));
X  pinqavailgdp3(wstype, totlen, start, &err, &gdps, &totlen);
X  if (writeinform)
X  `7B
+-+-+-+-+-+-+-+-  END  OF PART 240 +-+-+-+-+-+-+-+-