-+-+-+-+-+-+-+-+ START OF PART 241 -+-+-+-+-+-+-+-+ 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_pinqavailgdp3 */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqgse() X`7B X Pwstype wstype; X Pint start, err, totlen, i; X Pintlst gses; X X readwstype(&wstype); X start = readinteger("starting position ? "); X pinqgse(wstype, 0, start, &err, &gses, &totlen); X gses.number = totlen; X gses.integers = (Pint *)calloc(totlen, sizeof(Pint)); X pinqgse(wstype, totlen, start, &err, &gses, &totlen); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "GSE identifiers:\n"); X writeintlst(PTKEINFORM, &gses, PTKENOTABLE); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(gses.integers); X`7D /* do_pinqgse */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqwstypes() X`7B X Pint err, totsize, start, i; X Pchar *buffer; X Pwstypelst wslist; X X#ifdef SUN X pinqwstypes(0, &err, buffer, &wslist, &totsize); X buffer = (Pchar *)malloc(totsize); X pinqwstypes(totsize, &err, buffer, &wslist, &totsize); X#endif X#ifdef VMS X start = readinteger("starting position ? "); X pinqwstypes(0, start, &err, &wslist, &totsize); X wslist.ws_types = (Pwstype *)calloc(totsize, sizeof(Pwstype)); X wslist.number = totsize; X pinqwstypes(totsize, start, &err, &wslist, &totsize); X#endif X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM,`20 X "number of available workstation types = "); X writeinteger(PTKEINFORM, wslist.number); X#ifdef VMS X phinprintf(PTKEINFORM, "workstation types:\n"); X writeintarray(PTKEINFORM, wslist.number, wslist.ws_types, PTKENOTABLE) V; X#endif X `7D X else X phigserror(PTKEINFORM, err); X `7D X#ifdef SUN X free(buffer); X#endif X#ifdef VMS X free(wslist.ws_types); X#endif X`7D /* do_pinqwstypes */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqcolourind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst inds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqcolourind(wsid, 0, start, &err, &inds, &totlength); X inds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X inds.number = totlength; X pinqcolourind(wsid, totlength, start, &err, &inds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "colours:\n"); X writeintlst(PTKEINFORM, &inds, PTKECOLOURIND); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(inds.integers); X`7D /* do_pinqcolourind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqedgeind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst edgeinds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqedgeind(wsid, 0, start, &err, &edgeinds, &totlength); X edgeinds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X edgeinds.number = totlength; X pinqedgeind(wsid, totlength, start, &err, &edgeinds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "edges:\n"); X writeintlst(PTKEINFORM, &edgeinds, PTKENOTABLE); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(edgeinds.integers); X`7D /* do_pinqedgeind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqintind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst inds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqintind(wsid, 0, start, &err, &inds, &totlength); X inds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X inds.number = totlength; X pinqintind(wsid, totlength, start, &err, &inds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "interiors:\n"); X writeintlst(PTKEINFORM, &inds, PTKENOTABLE); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(inds.integers); X`7D /* do_pinqintind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqpatind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst inds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqpatind(wsid, 0, start, &err, &inds, &totlength); X inds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X inds.number = totlength; X pinqpatind(wsid, totlength, start, &err, &inds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "patterns:\n"); X writeintlst(PTKEINFORM, &inds, PTKENOTABLE); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(inds.integers); X`7D /* do_pinqpatind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqlineind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst inds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqlineind(wsid, 0, start, &err, &inds, &totlength); X inds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X inds.number = totlength; X pinqlineind(wsid, totlength, start, &err, &inds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "lines:\n"); X writeintlst(PTKEINFORM, &inds, PTKENOTABLE); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(inds.integers); X`7D /* do_pinqlineind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqmarkerind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst inds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqmarkerind(wsid, 0, start, &err, &inds, &totlength); X inds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X inds.number = totlength; X pinqmarkerind(wsid, totlength, start, &err, &inds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "markers:\n"); X writeintlst(PTKEINFORM, &inds, PTKENOTABLE); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(inds.integers); X`7D /* do_pinqmarkerind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqtextind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst inds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqtextind(wsid, 0, start, &err, &inds, &totlength); X inds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X inds.number = totlength; X pinqtextind(wsid, totlength, start, &err, &inds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "text:\n"); X writeintlst(PTKEINFORM, &inds, PTKENOTABLE); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(inds.integers); X`7D /* do_pinqtextind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqviewind() X`7B X Pint wsid, start, err, totlength, i; X Pintlst inds; X X wsid = readinteger("workstation identifier ? "); X start = readinteger("starting position ? "); X pinqviewind(wsid, 0, start, &err, &inds, &totlength); X inds.integers = (Pint *)calloc(totlength, sizeof(Pint)); X inds.number = totlength; X pinqviewind(wsid, totlength, start, &err, &inds, &totlength); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "views:\n"); X writeintlst(PTKEINFORM, &inds, PTKEVIEWIND); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(inds.integers); X`7D /* do_pinqviewind */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqlinefacil() X`7B X Pwstype wstype; X Pint start, err, totlength, i; X Plnfac facil; X X readwstype(&wstype); X start = readinteger("starting position ? "); X pinqlinefacil(wstype, 0, start, &err, &totlength, &facil); X facil.types.integers = (Pint *)calloc(totlength, sizeof(Pint)); X facil.types.number = totlength; X pinqlinefacil(wstype, totlength, start, &err, &totlength, &facil); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "linetypes:\n"); X writeintlst(PTKEINFORM, &facil.types, PTKENOTABLE); X phinprintf(PTKEINFORM, "number of available widths = "); X writeinteger(PTKEINFORM, facil.widths); X phinprintf(PTKEINFORM, "nominal width = "); X writereal(PTKEINFORM, facil.nom_width); X phinprintf(PTKEINFORM, "minimum width = "); X writereal(PTKEINFORM, facil.min_width); X phinprintf(PTKEINFORM, "maximum width = "); X writereal(PTKEINFORM, facil.max_width); 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.types.integers); X`7D /* do_pinqlinefacil */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqlinerep() X`7B X Pint wsid, index, err; X Pinqtype type; X Plnbundl rep; X X wsid = readinteger("workstation identifier ? "); X index = readinteger("line index ? "); X type = readphigsenum(PTKEINQTYPE, "type of value ? "); X pinqlinerep(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, "line representation:\n"); X writelnbundl(PTKEINFORM, &rep); X `7D X else X phigserror(PTKEINFORM, err); X `7D X`7D /* do_pinqlinerep */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqlocst() X`7B X Pint ws, dev, err, totsize; X Pchar *buffer; X Plocst state; X Pinqtype type; X X ws = readinteger("workstation identifier ? "); X dev = readinteger("locator device number ? "); X type = readphigsenum(PTKEINQTYPE, "value type ? "); X pinqlocst(ws, dev, type, 0, &err, buffer, &totsize, &state); X buffer = (Pchar *)malloc(totsize); X pinqlocst(ws, dev, type, totsize, &err, buffer, &totsize, &state); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "current state of locator device %d:\n", dev); X phinprintf(PTKEINFORM, "operating mode = "); X writephigsenum(PTKEINFORM, PTKEIMODE, state.mode); X phinprintf(PTKEINFORM, "echo switch = "); X writephigsenum(PTKEINFORM, PTKEESW, state.esw); X phinprintf(PTKEINFORM, "initial view index = "); X writeintvalue(PTKEINFORM, state.loc.view_index, PTKEVIEWIND); X /* Plocst contains a Ploc3 field - probably should be a Ploc X ** field. DEC PHIGS error. X */ X phinprintf(PTKEINFORM, "initial position:\n"); X writepoint3(PTKEINFORM, &state.loc.position); X phinprintf(PTKEINFORM, "prompt/echo type = "); X writeinteger(PTKEINFORM, state.pet); X phinprintf(PTKEINFORM, "limits:\n"); X writelimit(PTKEINFORM, &state.e_area); X writelocrec(PTKEINFORM, dev, state.pet, &state.record); X `7D X else X phigserror(PTKEINFORM, err); X `7D X free(buffer); X`7D /* do_pinqlocst */ X X/*-------------------------------------------------------------------------- V*/ X Xstatic void do_pinqlocst3() X`7B X Pint ws, dev, err, totsize; X Pchar *buffer; X Plocst3 state; X Pinqtype type; X X ws = readinteger("workstation identifier ? "); X dev = readinteger("locator device number ? "); X type = readphigsenum(PTKEINQTYPE, "value type ? ");`20 X pinqlocst3(ws, dev, type, 0, &err, buffer, &totsize, &state); X buffer = (Pchar *)malloc(totsize); X pinqlocst3(ws, dev, type, totsize, &err, buffer, &totsize, &state); X if (writeinform) X `7B X phinprintf(PTKEINFORM, "--- %s ---\n", phigsnamelist`5Bactivefunction`5D V); X if (err == 0) X `7B X phinprintf(PTKEINFORM, "current state of locator 3 device %d:\n", dev) V; X phinprintf(PTKEINFORM, "operating mode = "); X writephigsenum(PTKEINFORM, PTKEIMODE, state.mode); X phinprintf(PTKEINFORM, "echo switch = "); X writephigsenum(PTKEINFORM, PTKEESW, state.esw); X phinprintf(PTKEINFORM, "initial view index = "); X writeintvalue(PTKEINFORM, state.loc.view_index, PTKEVIEWIND); X phinprintf(PTKEINFORM, "initial position:\n"); X writepoint3(PTKEINFORM, &state.loc.position); X phinprintf(PTKEINFORM, "prompt/echo type = "); X writeinteger(PTKEINFORM, state.pet); X phinprintf(PTKEINFORM, "limits:\n"); X#ifdef SUN +-+-+-+-+-+-+-+- END OF PART 241 +-+-+-+-+-+-+-+-