-+-+-+-+-+-+-+-+ START OF PART 251 -+-+-+-+-+-+-+-+ X `7D X free(buffer); X free(colourind.integers); X`7D /* ptk_copycolourtable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copylinetable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the polyline bundle X** table from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X Pintlst lineind; X Pint totlen, err, i, totsize, tablesize; X Plnbundl rep; X Pwstables lengths; X Pchar *buffer; X Pconnid connid; X Pwstype wstype; X X pinqwsconntype(destwsid, 0, &err, buffer, &connid, &totsize, &wstype); X buffer = (Pchar *)malloc(totsize); X pinqwsconntype(destwsid, totsize, &err, buffer, &connid, &totsize, &wstype V); X pinqwssttable(wstype, &err, &lengths); X pinqlineind(sourcewsid, 0, 0, &err, &lineind, &totlen); X lineind.integers = (Pint *)calloc(totlen, sizeof(Pint)); X lineind.number = totlen; X pinqlineind(sourcewsid, totlen, 0, &err, &lineind, &totlen); X tablesize = MIN(lengths.line, lineind.number); X for (i = 0; i < tablesize; i++) X `7B X pinqlinerep(sourcewsid, lineind.integers`5Bi`5D, PSET, &err, &rep); X psetlinerep(destwsid, lineind.integers`5Bi`5D, &rep); X `7D X free(buffer); X free(lineind.integers); X`7D /* ptk_copylinetable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copymarkertable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the polymarker bundle X** table from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X Pintlst markerind; X Pint totlen, err, i, totsize, tablesize; X Pmkbundl rep; X Pwstables lengths; X Pchar *buffer; X Pconnid connid; X Pwstype wstype; X X pinqwsconntype(destwsid, 0, &err, buffer, &connid, &totsize, &wstype); X buffer = (Pchar *)malloc(totsize); X pinqwsconntype(destwsid, totsize, &err, buffer, &connid, &totsize, &wstype V); X pinqwssttable(wstype, &err, &lengths); X pinqmarkerind(sourcewsid, 0, 0, &err, &markerind, &totlen); X markerind.integers = (Pint *)calloc(totlen, sizeof(Pint)); X markerind.number = totlen; X pinqmarkerind(sourcewsid, totlen, 0, &err, &markerind, &totlen); X tablesize = MIN(lengths.mark, markerind.number); X for (i = 0; i < tablesize; i++) X `7B X pinqmarkerrep(sourcewsid, markerind.integers`5Bi`5D, PSET, &err, &rep); X psetmarkerrep(destwsid, markerind.integers`5Bi`5D, &rep); X `7D X free(buffer); X free(markerind.integers); X`7D /* ptk_copymarkertable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copytexttable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the text bundle X** table from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X Pintlst textind; X Pint totlen, err, i, totsize, tablesize; X Ptxbundl rep; X Pwstables lengths; X Pchar *buffer; X Pconnid connid; X Pwstype wstype; X X pinqwsconntype(destwsid, 0, &err, buffer, &connid, &totsize, &wstype); X buffer = (Pchar *)malloc(totsize); X pinqwsconntype(destwsid, totsize, &err, buffer, &connid, &totsize, &wstype V); X pinqwssttable(wstype, &err, &lengths); X pinqtextind(sourcewsid, 0, 0, &err, &textind, &totlen); X textind.integers = (Pint *)calloc(totlen, sizeof(Pint)); X textind.number = totlen; X pinqtextind(sourcewsid, totlen, 0, &err, &textind, &totlen); X tablesize = MIN(lengths.text, textind.number); X for (i = 0; i < tablesize; i++) X `7B X pinqtextrep(sourcewsid, textind.integers`5Bi`5D, PSET, &err, &rep); X psettextrep(destwsid, textind.integers`5Bi`5D, &rep); X `7D X free(buffer); X free(textind.integers); X`7D /* ptk_copytexttable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copyinttable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the interior bundle X** table from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X Pintlst intind; X Pint totlen, err, i, totsize, tablesize; X Pinterbundl rep; X Pwstables lengths; X Pchar *buffer; X Pconnid connid; X Pwstype wstype; X X pinqwsconntype(destwsid, 0, &err, buffer, &connid, &totsize, &wstype); X buffer = (Pchar *)malloc(totsize); X pinqwsconntype(destwsid, totsize, &err, buffer, &connid, &totsize, &wstype V); X pinqwssttable(wstype, &err, &lengths); X pinqintind(sourcewsid, 0, 0, &err, &intind, &totlen); X intind.integers = (Pint *)calloc(totlen, sizeof(Pint)); X intind.number = totlen; X pinqintind(sourcewsid, totlen, 0, &err, &intind, &totlen); X tablesize = MIN(lengths.interior, intind.number); X for (i = 0; i < tablesize; i++) X `7B X pinqintrep(sourcewsid, intind.integers`5Bi`5D, PSET, &err, &rep); X psetintrep(destwsid, intind.integers`5Bi`5D, &rep); X `7D X free(buffer); X free(intind.integers); X`7D /* ptk_copyinttable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copyedgetable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the edge bundle X** table from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X Pintlst edgeind; X Pint totlen, err, i, totsize, tablesize; X Pedgebundl rep; X Pwstables lengths; X Pchar *buffer; X Pconnid connid; X Pwstype wstype; X X pinqwsconntype(destwsid, 0, &err, buffer, &connid, &totsize, &wstype); X buffer = (Pchar *)malloc(totsize); X pinqwsconntype(destwsid, totsize, &err, buffer, &connid, &totsize, &wstype V); X pinqwssttable(wstype, &err, &lengths); X pinqedgeind(sourcewsid, 0, 0, &err, &edgeind, &totlen); X edgeind.integers = (Pint *)calloc(totlen, sizeof(Pint)); X edgeind.number = totlen; X pinqedgeind(sourcewsid, totlen, 0, &err, &edgeind, &totlen); X tablesize = MIN(lengths.edge, edgeind.number); X for (i = 0; i < tablesize; i++) X `7B X pinqedgerep(sourcewsid, edgeind.integers`5Bi`5D, PSET, &err, &rep); X psetedgerep(destwsid, edgeind.integers`5Bi`5D, &rep); X `7D X free(buffer); X free(edgeind.integers); X`7D /* ptk_copyedgetable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copyviewtable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the view X** table from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X Pintlst viewind; X Pint totlen, err, i, totsize, tablesize; X Pviewrep3 rep, currep; X Pwstables lengths; X Pchar *buffer; X Pconnid connid; X Pwstype wstype; X Pupdatest updst; X X pinqwsconntype(destwsid, 0, &err, buffer, &connid, &totsize, &wstype); X buffer = (Pchar *)malloc(totsize); X pinqwsconntype(destwsid, totsize, &err, buffer, &connid, &totsize, &wstype V); X pinqwssttable(wstype, &err, &lengths); X pinqviewind(sourcewsid, 0, 0, &err, &viewind, &totlen); X viewind.integers = (Pint *)calloc(totlen, sizeof(Pint)); X viewind.number = totlen; X pinqviewind(sourcewsid, totlen, 0, &err, &viewind, &totlen); X tablesize = MIN(lengths.view, viewind.number); X for (i = 1; i < tablesize; i++) X `7B X pinqviewrep(sourcewsid, viewind.integers`5Bi`5D, &err, &updst, &currep, V &rep); X psetviewrep3(destwsid, viewind.integers`5Bi`5D, &rep); X `7D X free(buffer); X free(viewind.integers); X`7D /* ptk_copyviewtable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copypattable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the pattern bundle X** table from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X Pintlst patind; X Pint totlen, err, i, totsize, tablesize; X Pptbundl rep; X Pwstables lengths; X Pchar *buffer; X Pconnid connid; X Pwstype wstype; X X pinqwsconntype(destwsid, 0, &err, buffer, &connid, &totsize, &wstype); X buffer = (Pchar *)malloc(totsize); X pinqwsconntype(destwsid, totsize, &err, buffer, &connid, &totsize, &wstype V); X pinqwssttable(wstype, &err, &lengths); X pinqpatind(sourcewsid, 0, 0, &err, &patind, &totlen); X patind.integers = (Pint *)calloc(totlen, sizeof(Pint)); X patind.number = totlen; X pinqpatind(sourcewsid, totlen, 0, &err, &patind, &totlen); X tablesize = MIN(lengths.pat, patind.number); X for (i = 0; i < tablesize; i++) X `7B X pinqpatrep(sourcewsid, patind.integers`5Bi`5D, PSET, &err, &rep); X psetpatrep(destwsid, patind.integers`5Bi`5D, &rep); X `7D X free(buffer); X free(patind.integers); X`7D /* ptk_copypattable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copywssttable(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the workstation colour, X** polyline bundle, polymarker bundle, interior bundle, edge bundle, X** text bundle, pattern bundle and view X** tables from workstation \pardesc`7Bsourcewsid`7D to X** workstation \pardesc`7Bdestwsid`7D.`7D X*/ X`7B X /* colour table */ X ptk_copycolourtable(sourcewsid, destwsid); X /* polyline table */ X ptk_copylinetable(sourcewsid, destwsid); X /* polymarker table */ X ptk_copymarkertable(sourcewsid, destwsid); X /* interior table */ X ptk_copyinttable(sourcewsid, destwsid); X /* edge table */ X ptk_copyedgetable(sourcewsid, destwsid); X /* text table */ X ptk_copytexttable(sourcewsid, destwsid); X /* pattern table */ X ptk_copypattable(sourcewsid, destwsid); X /* view table */ X ptk_copyviewtable(sourcewsid, destwsid); `20 X`7D /* ptk_copywssttable */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copypostedstruct(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function posts all the structures already posted to X** workstation \pardesc`7Bsourcewsid`7D to workstation \pardesc`7Bdestwsid V`7D.`7D X*/ X`7B X Pint err, totlen, i; X Pstructpostlst postlist; X X pinqpostedstruct(sourcewsid, 0, 0, &err, &postlist, &totlen); X postlist.postings = (Pstructpost *)calloc(totlen, sizeof(Pstructpost)); X postlist.number = totlen; X pinqpostedstruct(sourcewsid, totlen, 0, &err, &postlist, &totlen); X for (i = 0; i < postlist.number; i++) X ppoststruct(destwsid, postlist.postings`5Bi`5D.id,`20 X postlist.postings`5Bi`5D.priority); X free(postlist.postings); X`7D /* ptk_copypostedstruct */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ Xextern void ptk_copyhilightfilter(C(Pint) sourcewsid, C(Pint) destwsid) XPreANSI(Pint sourcewsid) XPreANSI(Pint destwsid) X/* X** \parambegin X** \param`7BPint`7D`7Bsourcewsid`7D`7Bsource workstation identifier`7D`7BIN` V7D X** \param`7BPint`7D`7Bdestwsid`7D`7Bdestination workstation identifier`7D`7B VIN`7D X** \paramend X** \blurb`7BThis function copies the highlighting filter`20 X** from workstation \pardesc`7Bsourcewsid`7D to workstation \pardesc`7Bdestw Vsid`7D.`7D X*/ X`7B X Pint err, totincl, totexcl; X Pintlst incl, excl; X X /* highlight filter */ X pinqhilightfilter(sourcewsid, 0, 0, 0, 0, &err, &incl, &totincl, X &excl, &totexcl); `20 X incl.integers = (Pint *)calloc(totincl, sizeof(Pint)); X incl.number = totincl; X excl.integers = (Pint *)calloc(totexcl, sizeof(Pint)); X excl.number = totexcl; X pinqhilightfilter(sourcewsid, totincl, 0, totexcl, 0, &err, &incl, &totinc Vl, X &excl, &totexcl); X psethilightfilter(destwsid, &incl, &excl); X`7D /* ptk_copyhilightfilter */ X X/*-------------------------------------------------------------------------- V*/ X X/*function:external*/ +-+-+-+-+-+-+-+- END OF PART 251 +-+-+-+-+-+-+-+-