server/fns.cxx File Reference

Udanax Back-end Top Level Functions. More...

#include "udanax.h"
#include "players.h"
#include "requests.h"

Include dependency graph for fns.cxx:

Include dependency graph

Go to the source code of this file.

Functions

bool getfinddocscontaining (Session *sess, typespecset *specsetptr)
 ???

bool getcopy (Session *sess, IStreamAddr *docisaptr, IStreamAddr *vsaptr, typespecset *localspecsetptr)
 ???

bool getinsert (Session *sess, IStreamAddr *docisaptr, Tumbler *vsaptr, typetextset *textsetptr)
 ???

bool getcreatelink (Session *sess, IStreamAddr *docisaptr, typespecset *fromspecsetptr, typespecset *tospecsetptr, typespecset *threespecsetptr)
 ???

bool getfollowlink (Session *sess, IStreamAddr *linkisaptr, int *whichendptr)
 ???

bool getcreatenewversion (Session *sess, IStreamAddr *docisaptr)
 ???

bool getretrievedocvspanset (Session *sess, IStreamAddr *docisaptr)
 ???

bool getretrievedocvspan (Session *sess, IStreamAddr *docisaptr)
 ???

bool getrearrange (Session *sess, IStreamAddr *docisaptr, typecutseq *cutseqptr)
 ???

bool getretrievev (Session *sess, typespecset *specsetptr)
 ???

bool getfindlinksfromtothree (Session *sess, typespecset *fromvspecsetptr, typespecset *tovspecsetptr, typespecset *threevspecsetptr, typeispanset *homesetptr)
 ???

bool getfindnumoflinksfromtothree (Session *sess, typespecset *fromvspecsetptr, typespecset *tovspecsetptr, typespecset *threevspecsetptr, typeispanset *homesetptr)
 ???

bool getfindnextnlinksfromtothree (Session *sess, typespecset *fromvspecsetptr, typespecset *tovspecsetptr, typespecset *threevspecsetptr, typeispanset *homesetptr, IStreamAddr *lastlinkptr, int *nptr)
 ???

bool getshowrelationof2versions (Session *sess, typespecset *version1ptr, typespecset *version2ptr)
 ???

void getcreatenewdocument ()
 ???

bool getdeletevspan (Session *sess, IStreamAddr *docisaptr, typevspan *vspanptr)
 ???

void setdebug (Session *sess)
 ???

void playwithalloc (Session *sess)
 ???

bool getretrieveendsets (Session *sess, typespecset *specsetptr)
 ???

bool getxaccount (Session *sess, IStreamAddr *accountptr)
 ???

bool getcreatenode_or_account (Session *sess, Tumbler *tp)
 ???

bool getopen (Session *sess, Tumbler *tp, int *typep, int *modep)
 ???

bool getclose (Session *sess, Tumbler *tp)
 ???

bool gettumbler (Session *sess, Tumbler *tumblerptr)
 parse a tumbler value from the input stream

void prompt (Session *sess, char *string)
 ???

void error (Session *sess, char *string)
 ???

void puttumbler (FILE *outfile, Tumbler *tumblerptr)
 ???

void putnum (FILE *outfile, int num)
 ???

void putisa (Session *sess, IStreamAddr *isaptr)
 ???

void putitemset (Session *sess, typeitemset itemset)
 ???

void putitem (Session *sess, typeitem *itemptr)
 ???

void putspan (Session *sess, typespan *spanptr)
 ???

void puttext (Session *sess, typetext *textptr)
 ???

void putspanpairset (Session *sess, typespanpairset spanpairset)
 ???

void putspanpair (Session *sess, typespanpair *spanpair)
 ???

void putcreatelink (Session *sess, IStreamAddr *istreamptr)
 ???

void putfollowlink (Session *sess, typespecset specset)
 ???

void putretrievedocvspanset (Session *sess, typespanset *spansetptr)
 ???

void putretrievedocvspan (Session *sess, typespan *vspanptr)
 ???

void putretrievev (Session *sess, typevstuffset *vstuffsetptr)
 ???

void putfindlinksfromtothree (Session *sess, typelinkset linkset)
 ???

void putfindnumoflinksfromtothree (Session *sess, int num)
 ???

void putfindnextnlinksfromtothree (Session *sess, int n, typelinkset nextlinkset)
 ???

void putshowrelationof2versions (Session *sess, typespanpairset relation)
 ???

void putcreatenewdocument (Session *sess, IStreamAddr *newdocisaptr)
 ???

void putcreatenewversion (Session *sess, IStreamAddr *newdocisaptr)
 ???

void putfinddocscontaining (Session *sess, typeitemset addressset)
 ???

void putretrieveendsets (Session *sess, typespecset fromset, typespecset toset, typespecset threeset)
 ???

void putinsert (Session *sess)
 ???

void putcopy (Session *sess)
 ???

void putdeletevspan (Session *sess)
 ???

void putrearrange (Session *sess)
 ???

void putrequestfailed (Session *sess)
 ???

void putxaccount (Session *sess)
 ???

void putcreatenode_or_account (Session *sess, Tumbler *tp)
 ???

void putopen (Session *sess, Tumbler *tp)
 ???

void putclose (Session *sess)
 ???

void putquitxanadu (Session *sess)
 ???

bool docreatenewversion (Session *sess, IStreamAddr *isaptr, IStreamAddr *wheretoputit, IStreamAddr *newisaptr)
 Create a new version of a document and return its identifier.

void finddocscontaining (Session *sess)
 ???

void copy (Session *sess)
 ???

void insert (Session *sess)
 ???

void createlink (Session *sess)
 ???

void followlink (Session *sess)
 ???

void retrievedocvspanset (Session *sess)
 ???

void rearrange (Session *sess)
 ???

void retrievev (Session *sess)
 ???

void findlinksfromtothree (Session *sess)
 ???

void findnumoflinksfromtothree (Session *sess)
 ???

void findnextnlinksfromtothree (Session *sess)
 ???

void navigateonht (Session *sess)
 ???

void showrelationof2versions (Session *sess)
 ???

void createnewdocument (Session *sess)
 ???

void createnewversion (Session *sess)
 ???

void retrievedocvspan (Session *sess)
 ???

void deletevspan (Session *sess)
 ???

void retrieveendsets (Session *sess)
 ???

void xaccount (Session *sess)
 ???

void createnode_or_account (Session *sess)
 ???

void myopen (Session *sess)
 ???

void myclose (Session *sess)
 ???

void quitxanadu (Session *sess)
 ???

void examine (Session *sess)
 ???

void showorgl (Session *sess)
 ???

void showenfilades (Session *sess)
 ???


Variables

FILE * interfaceinput
int backenddaemon


Detailed Description

Udanax Back-end Top Level Functions.

(to be defined)

Definition in file fns.cxx.


Function Documentation

void copy Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 198 of file fns.cxx.

References docopy(), getcopy(), putcopy(), putrequestfailed(), and typespecset.

Referenced by init().

00199                                : User's session context
00200 {
00201     IStreamAddr docisa, vsa;
00202     typespecset localspecset;
00203 
00204     if (getcopy(sess, &docisa, &vsa, &localspecset) && docopy(sess, &docisa, &vsa, localspecset))
00205         putcopy(sess);
00206     else
00207         putrequestfailed(sess);
00208 }

void createlink Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 269 of file fns.cxx.

References docreatelink(), getcreatelink(), putcreatelink(), putrequestfailed(), and typespecset.

Referenced by init().

00270                                : User's session context
00271 {
00272     IStreamAddr docisa, linkisa;
00273     typespecset fromspecset, tospecset, threespecset;
00274 
00275     if (getcreatelink(sess, &docisa, &fromspecset, &tospecset, &threespecset)
00276         && docreatelink(sess, &docisa, fromspecset, tospecset, threespecset, &linkisa)) {
00277         putcreatelink(sess, &linkisa);
00278     } else
00279         putrequestfailed(sess);
00280 }

void createnewdocument Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 504 of file fns.cxx.

References docreatenewdocument(), getcreatenewdocument(), putcreatenewdocument(), and putrequestfailed().

Referenced by init().

00505                                : User's session context
00506 {
00507     IStreamAddr newdocisa;
00508 
00509     getcreatenewdocument();
00510     if (docreatenewdocument(sess, &newdocisa))
00511         putcreatenewdocument(sess, &newdocisa);
00512     else
00513         putrequestfailed(sess);
00514 }

void createnewversion Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 524 of file fns.cxx.

References docreatenewversion(), getcreatenewversion(), putcreatenewversion(), and putrequestfailed().

Referenced by init().

00525                                : User's session context
00526 {
00527     IStreamAddr originaldocisa, newdocisa;
00528 
00529     if (getcreatenewversion(sess, &originaldocisa)
00530         && docreatenewversion(sess, &originaldocisa, &originaldocisa, &newdocisa))
00531         putcreatenewversion(sess, &newdocisa);
00532     else
00533         putrequestfailed(sess);
00534 }

void createnode_or_account Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 636 of file fns.cxx.

References docreatenode_or_account(), getcreatenode_or_account(), putcreatenode_or_account(), and putrequestfailed().

Referenced by init().

00637                                : User's session context
00638 {
00639     IStreamAddr t;
00640 
00641     if (getcreatenode_or_account(sess, &t)
00642         && docreatenode_or_account(sess, &t)) {
00643         putcreatenode_or_account(sess, &t);
00644     } else {
00645         putrequestfailed(sess);
00646     }
00647 }

void deletevspan Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 573 of file fns.cxx.

References dodeletevspan(), getdeletevspan(), L, and putdeletevspan().

Referenced by init().

00574                                : User's session context
00575 {                                      /* kluged unix version for speed */
00576     IStreamAddr docisa;
00577     typespan vspan;
00578 
00579     (void)getdeletevspan(sess, &docisa, &vspan);
00580     putdeletevspan(sess);
00581     if (!dodeletevspan(sess, &docisa, &vspan))
00582 #ifndef DISTRIBUTION
00583         L("deletevspan failed \n");
00584 #else
00585         ;
00586 #endif
00587 }

bool docreatenewversion Session sess,
IStreamAddr isaptr,
IStreamAddr wheretoputit,
IStreamAddr newisaptr
 

Create a new version of a document and return its identifier.

Create a new version of a document and return its identifier. The new version of the document will contain a virtual copy of the original.

Parameters:
sess  Input: User's session context
isaptr  Input: Identifier of document to fork
wheretoputit  Input: User account under which to create copy
newisaptr  Output: I-stream address of new version

Definition at line 553 of file do1.cxx.

00554                                         : User's session context
00555     IStreamAddr *isaptr,       
00556     IStreamAddr *wheretoputit, 
00557     IStreamAddr *newisaptr)    
00558 {
00559     IStreamAddr newtp;      /* for internal open */
00560 
00561     // Test for ownership to do the right thing for explicit creation of new
00562     // version of someone else's document
00563     typehint hint;
00564     if (tumbleraccounteq(isaptr, wheretoputit) && isthisusersdocument(sess, isaptr)) {
00565         makehint(DOCUMENT, DOCUMENT, 0, isaptr /* wheretoputit */ , &hint);
00566     } else {
00567         // This does the right thing for a new version of someone else's
00568         // document, as it duplicates the behavior of docreatenewdocument
00569         makehint(ACCOUNT, DOCUMENT, 0, wheretoputit, &hint);
00570     }
00571 
00572     if (!createorglingranf(sess, granf, &hint, newisaptr))
00573         return false;
00574 
00575     // Determine the full span of the parent document, to know the range to
00576     // copy into the newly created version.
00577 
00578     typevspan vspan;
00579     if (!doretrievedocvspanfoo(sess, isaptr, &vspan))
00580         return false;
00581 
00582     typevspec vspec;
00583     vspec.next     = NULL;
00584     vspec.itemid   = VSPECID;
00585     movetumbler(isaptr, &vspec.docisa);
00586     vspec.vspanset = &vspan;
00587 
00588     // BERTMODEONLY to prevent recursive createnewversions
00589     if (!doopen(sess, newisaptr, &newtp, WRITEBERT, BERTMODEONLY))
00590         assert(0); // Couldn't do internal doopen for new doc in docreatenewversion
00591 
00592     // Map (copy virtually) the entire content of the original document into
00593     // V-stream of the newly created version.
00594     docopyinternal(sess, newisaptr, &vspan.stream, (typespec *) &vspec);
00595     doclose(sess, newisaptr);
00596 
00597     return true;
00598 }

void error Session session,
char *  string
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 113 of file put.cxx.

00114                                : User's session context
00115     char    *string)
00116 {
00117     fprintf(sess->errp, "%s", string);
00118 }

void examine Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 723 of file fns.cxx.

References granf, Session::inp, L, prompt(), showistream(), showorgl(), showspanf(), and spanf.

00724                                : User's session context
00725 {
00726 #ifndef DISTRIBUTION
00727     char c;
00728     //UNUSED IStreamAddr orglisa;
00729     //UNUSED typeorgl orgl;
00730 
00731     prompt(sess, "\nspanf (s), orgl (o) or istream (i) ? ");
00732     c = getc(sess->inp);
00733     if (c != '\n')
00734         getc(sess->inp);
00735 
00736     L("\n");
00737     switch (c) {
00738     case 'i':
00739         showistream((typecuc *) granf);
00740         break;
00741     case 's':
00742         showspanf((typecuc *) spanf);
00743         break;
00744 
00745     case 'o':
00746 /* prompt (sess, "orgl isa => "); if (!( gettumbler (sess, &orglisa) && findorgl (sess, granf, &orglisa,
00747  * &orgl,READBERT))) { L(sess->errp, "\nnot found\n"); } else { showspanf (orgl); } */
00748         showorgl(sess);
00749         break;
00750 
00751     default:
00752         return;
00753     }
00754 #endif
00755 }

void finddocscontaining Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 178 of file fns.cxx.

References dofinddocscontaining(), getfinddocscontaining(), putfinddocscontaining(), putrequestfailed(), typeitemset, typelinkset, and typespecset.

Referenced by init().

00179                                : User's session context
00180 {
00181     typespecset specset;
00182     typelinkset addressset;
00183 
00184     if (getfinddocscontaining(sess, &specset) && dofinddocscontaining(sess, specset, &addressset))
00185         putfinddocscontaining(sess, (typeitemset) addressset);
00186     else
00187         putrequestfailed(sess);
00188 }

void findlinksfromtothree Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 382 of file fns.cxx.

References dofindlinksfromtothree(), getfindlinksfromtothree(), NULL, putfindlinksfromtothree(), putrequestfailed(), typeispan, typeispanset, typelinkset, and typespecset.

Referenced by init().

00383                                : User's session context
00384 {
00385     typespecset fromvspecset, tovspecset, threevspecset;
00386     typeispanset homeset;
00387     typelinkset linkset;
00388 
00389     if (getfindlinksfromtothree(sess, &fromvspecset, &tovspecset, &threevspecset, &homeset)
00390         && dofindlinksfromtothree(sess, fromvspecset, tovspecset, threevspecset, (typeispan *) NULL /* homeset */ ,
00391                                   &linkset))
00392         putfindlinksfromtothree(sess, linkset);
00393     else
00394         putrequestfailed(sess);
00395 }

void findnextnlinksfromtothree Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 427 of file fns.cxx.

References dofindnextnlinksfromtothree(), getfindnextnlinksfromtothree(), putfindnextnlinksfromtothree(), putrequestfailed(), typeispanset, typelinkset, and typespecset.

Referenced by init().

00428                                : User's session context
00429 {
00430     typespecset fromvspecset, tovspecset, threevspecset;
00431     typeispanset homeset;
00432     IStreamAddr lastlink;
00433     typelinkset nextlinkset;
00434     int n;
00435 
00436     if (getfindnextnlinksfromtothree(sess, &fromvspecset, &tovspecset, &threevspecset, &homeset, &lastlink, &n)
00437         && dofindnextnlinksfromtothree(sess, (typevspec *) fromvspecset, (typevspec *) tovspecset, (typevspec *) threevspecset, homeset, &lastlink,
00438                                        &nextlinkset, &n))
00439         putfindnextnlinksfromtothree(sess, n, nextlinkset);
00440     else
00441         putrequestfailed(sess);
00442 }

void findnumoflinksfromtothree Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 405 of file fns.cxx.

References dofindnumoflinksfromtothree(), getfindnumoflinksfromtothree(), putfindnumoflinksfromtothree(), putrequestfailed(), typeispanset, and typespecset.

Referenced by init().

00406                                : User's session context
00407 {
00408     typespecset fromvspecset, tovspecset, threevspecset;
00409     typeispanset homeset;
00410     int numberoflinks;
00411 
00412     if (getfindnumoflinksfromtothree(sess, &fromvspecset, &tovspecset, &threevspecset, &homeset)
00413         && dofindnumoflinksfromtothree(sess, (typespec **) fromvspecset, (typespec **) tovspecset, (typespec **) threevspecset, homeset, &numberoflinks))
00414         putfindnumoflinksfromtothree(sess, numberoflinks);
00415     else
00416         putrequestfailed(sess);
00417 }

void followlink Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 290 of file fns.cxx.

References dofollowlink(), getfollowlink(), putfollowlink(), putrequestfailed(), and typespecset.

Referenced by init().

00291                                : User's session context
00292 {
00293     IStreamAddr linkisa;
00294     typespecset specset;
00295     int whichend;
00296 
00297     if (getfollowlink(sess, &linkisa, &whichend)
00298         && dofollowlink(sess, &linkisa, &specset, whichend)) {
00299         putfollowlink(sess, specset);
00300     } else
00301         putrequestfailed(sess);
00302 }

bool getclose Session sess,
Tumbler tp
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 576 of file get1.cxx.

References CLOSE, gettumbler(), interfaceinput, and logstuff.

Referenced by myclose().

00577                                : User's session context
00578     Tumbler *tp)
00579 {
00580     gettumbler(sess, tp);
00581 
00582     return true;
00583 }

bool getcopy Session sess,
IStreamAddr docisaptr,
IStreamAddr vsaptr,
typespecset localspecsetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 127 of file get1.cxx.

References COPY, getspecset(), gettumbler(), interfaceinput, logstuff, and typespecset.

Referenced by copy().

00128                                    : User's session context
00129     IStreamAddr *docisaptr,
00130     IStreamAddr *vsaptr,
00131     typespecset *localspecsetptr)
00132 {
00133     prompt(sess, "copy to this document=> ");
00134     if (!getisa(sess, docisaptr))
00135         return false;
00136 
00137     prompt(sess, "at this address=> ");
00138     if (!(getvsa(sess, vsaptr) && getspecset(sess, localspecsetptr)))
00139         return false;
00140 
00141     return true;
00142 }

bool getcreatelink Session sess,
IStreamAddr docisaptr,
typespecset fromspecsetptr,
typespecset tospecsetptr,
typespecset threespecsetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 181 of file get1.cxx.

References CREATELINK, getspecset(), gettumbler(), interfaceinput, logstuff, and typespecset.

Referenced by createlink().

00182                                    : User's session context
00183     IStreamAddr *docisaptr,
00184     typespecset *fromspecsetptr,
00185     typespecset *tospecsetptr,
00186     typespecset *threespecsetptr)
00187 {
00188     prompt(sess, "home document=> ");
00189     if (!getisa(sess, docisaptr))
00190         return false;
00191 
00192     prompt(sess, "fromset\n");
00193     if (!getspecset(sess, fromspecsetptr))
00194         return false;
00195 
00196     prompt(sess, "toset\n");
00197     if (!getspecset(sess, tospecsetptr))
00198         return false;
00199 
00200     prompt(sess, "threeset\n");
00201     if (!getspecset(sess, threespecsetptr))
00202         return false;
00203 
00204     return true;
00205 }

void getcreatenewdocument  ) 
 

???

(to be defined)

Definition at line 433 of file get1.cxx.

References CREATENEWDOCUMENT, interfaceinput, and logstuff.

Referenced by createnewdocument().

00434 {
00435 }

bool getcreatenewversion Session sess,
IStreamAddr docisaptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 239 of file get1.cxx.

References CREATENEWVERSION, gettumbler(), interfaceinput, and logstuff.

Referenced by createnewversion().

00240                                    : User's session context
00241     IStreamAddr *docisaptr)
00242 {
00243     prompt(sess, "enter document=> ");
00244     return getisa(sess, docisaptr);
00245 }

bool getcreatenode_or_account Session sess,
Tumbler tp
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 538 of file get1.cxx.

References CREATENODE_OR_ACCOUNT, gettumbler(), interfaceinput, and logstuff.

Referenced by createnode_or_account().

00539                                : User's session context
00540     Tumbler *tp)
00541 {
00542     gettumbler(sess, tp);
00543     return true;
00544 }

bool getdeletevspan Session sess,
IStreamAddr docisaptr,
typevspan vspanptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 445 of file get1.cxx.

References DELETEVSPAN, getspan(), gettumbler(), interfaceinput, logstuff, typevspan, and VSPANID.

Referenced by deletevspan().

00446                                    : User's session context
00447     IStreamAddr *docisaptr,
00448     typevspan   *vspanptr)
00449 {
00450     prompt(sess, "document=> ");
00451     if (!getisa(sess, docisaptr))
00452         return false;
00453 
00454     prompt(sess, "delete this part\n");
00455     if (!getspan(sess, vspanptr, VSPANID /* zzz */ ))
00456         return false;
00457 
00458     return true;
00459 }

bool getfinddocscontaining Session sess,
typespecset specsetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 112 of file get1.cxx.

References getspecset(), and typespecset.

Referenced by finddocscontaining().

00113                                    : User's session context
00114     typespecset *specsetptr)
00115 {
00116     return getspecset(sess, specsetptr);
00117 }

bool getfindlinksfromtothree Session sess,
typespecset fromvspecsetptr,
typespecset tovspecsetptr,
typespecset threevspecsetptr,
typeispanset homesetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 261 of file get1fe.cxx.

References getspanset(), getspecset(), ISPANID, kluge(), typeispanset, and typespecset.

00262                                     : User's session context
00263     typespecset  *fromvspecsetptr,
00264     typespecset  *tovspecsetptr,
00265     typespecset  *threevspecsetptr,
00266     typeispanset *homesetptr)
00267 {
00268     return (getspecset(sess, fromvspecsetptr)
00269             && getspecset(sess, tovspecsetptr)
00270             && getspecset(sess, threevspecsetptr)
00271             && getspanset(sess, homesetptr, ISPANID) && kluge());
00272 }

bool getfindnextnlinksfromtothree Session sess,
typespecset fromvspecsetptr,
typespecset tovspecsetptr,
typespecset threevspecsetptr,
typeispanset homesetptr,
IStreamAddr lastlinkptr,
int *  nptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 378 of file get1.cxx.

References getfindlinksfromtothree(), getnumber(), gettumbler(), typeispanset, and typespecset.

Referenced by findnextnlinksfromtothree().

00379                                     : User's session context
00380     typespecset  *fromvspecsetptr,
00381     typespecset  *tovspecsetptr,
00382     typespecset  *threevspecsetptr,
00383     typeispanset *homesetptr,
00384     IStreamAddr  *lastlinkptr,
00385     int          *nptr)
00386 {
00387     if (!getfindlinksfromtothree(sess, fromvspecsetptr, tovspecsetptr, threevspecsetptr, homesetptr))
00388         return false;
00389 
00390     prompt(sess, "last link=> ");
00391     if (!getisa(sess, lastlinkptr))
00392         return false;
00393 
00394     prompt(sess, "number of links => ");
00395     if (!getnumber(sess, nptr))
00396         return false;
00397 
00398     return true;
00399 }

bool getfindnumoflinksfromtothree Session sess,
typespecset fromvspecsetptr,
typespecset tovspecsetptr,
typespecset threevspecsetptr,
typeispanset homesetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 360 of file get1.cxx.

References getfindlinksfromtothree(), typeispanset, and typespecset.

Referenced by findnumoflinksfromtothree().

00361                                    : User's session context
00362     typespecset *fromvspecsetptr,
00363     typespecset *tovspecsetptr,
00364     typespecset *threevspecsetptr,
00365     typeispanset *homesetptr)
00366 {
00367     return getfindlinksfromtothree(sess, fromvspecsetptr, tovspecsetptr, threevspecsetptr, homesetptr);
00368 }

bool getfollowlink Session sess,
IStreamAddr linkisaptr,
int *  whichendptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 215 of file get1.cxx.

References getnumber(), and gettumbler().

Referenced by followlink().

00216                                    : User's session context
00217     IStreamAddr *linkisaptr,
00218     int         *whichendptr)
00219 {
00220     prompt(sess, "enter link=> ");
00221     if (!getisa(sess, linkisaptr))
00222         return false;
00223 
00224     prompt(sess, "enter endset=> ");
00225     if (!(getnumber(sess, whichendptr) && (*whichendptr == 1 || *whichendptr == 2 || *whichendptr == 3)))
00226         return false;
00227 
00228     return true;
00229 }

bool getinsert Session sess,
IStreamAddr docisaptr,
Tumbler vsaptr,
typetextset textsetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 152 of file get1.cxx.

References gettextset(), gettumbler(), INSERT, interfaceinput, logstuff, and typetextset.

Referenced by insert().

00153                                    : User's session context
00154     IStreamAddr *docisaptr,
00155     Tumbler     *vsaptr,
00156     typetextset *textsetptr)
00157 {
00158     prompt(sess, "text=>\n\n");
00159     if (!gettextset(sess, textsetptr))
00160         return false;
00161 
00162     prompt(sess, "document=> ");
00163     if (!getisa(sess, docisaptr))
00164         return false;
00165 
00166     prompt(sess, "address=> ");
00167     if (!getvsa(sess, vsaptr))
00168         return false;
00169 
00170     return true;
00171 }

bool getopen Session sess,
Tumbler tp,
int *  typep,
int *  modep
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 554 of file get1.cxx.

References getnumber(), gettumbler(), interfaceinput, logstuff, NOBERTREQUIRED, and OPEN.

Referenced by myopen().

00555                                : User's session context
00556     Tumbler *tp,
00557     int     *typep,
00558     int     *modep)
00559 {
00560 
00561     gettumbler(sess, tp);
00562     getnumber(sess, typep);
00563     getnumber(sess, modep);
00564 
00565     return true;
00566 }

bool getrearrange Session sess,
IStreamAddr docisaptr,
typecutseq cutseqptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 287 of file get1.cxx.

References getcutseq(), gettumbler(), interfaceinput, logstuff, and REARRANGE.

Referenced by rearrange().

00288                                    : User's session context
00289     IStreamAddr *docisaptr,
00290     typecutseq  *cutseqptr)
00291 {
00292     prompt(sess, "enter document=> ");
00293     if (!getisa(sess, docisaptr))
00294         return false;
00295 
00296     prompt(sess, "enter cutseq=>\n");
00297     if (!getcutseq(sess, cutseqptr))
00298         return false;
00299 
00300     return true;
00301 }

bool getretrievedocvspan Session sess,
IStreamAddr docisaptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 271 of file get1.cxx.

References gettumbler().

Referenced by retrievedocvspan().

00272                                    : User's session context
00273     IStreamAddr *docisaptr)
00274 {
00275     prompt(sess, "enter document=> ");
00276     return getisa(sess, docisaptr);
00277 }

bool getretrievedocvspanset Session sess,
IStreamAddr docisaptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 255 of file get1.cxx.

References gettumbler().

Referenced by retrievedocvspanset().

00256                                    : User's session context
00257     IStreamAddr *docisaptr)
00258 {
00259     prompt(sess, "enter document=> ");
00260     return getisa(sess, docisaptr);
00261 }

bool getretrieveendsets Session sess,
typespecset specsetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 499 of file get1.cxx.

References getspecset(), and typespecset.

Referenced by retrieveendsets().

00500                                    : User's session context
00501     typespecset *specsetptr)
00502 {
00503     return getspecset(sess, specsetptr);
00504 }

bool getretrievev Session sess,
typespecset specsetptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 311 of file get1.cxx.

References getspecset(), and typespecset.

Referenced by retrievev().

00312                                    : User's session context
00313     typespecset *specsetptr)
00314 {
00315     return getspecset(sess, specsetptr);
00316 }

bool getshowrelationof2versions Session sess,
typespecset version1ptr,
typespecset version2ptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 409 of file get1.cxx.

References getspecset(), and typespecset.

Referenced by showrelationof2versions().

00410                                    : User's session context
00411     typespecset *version1ptr,
00412     typespecset *version2ptr)
00413 {
00414     prompt(sess, "version1\n");
00415     if (!getspecset(sess, version1ptr))
00416         return false;
00417 
00418     prompt(sess, "version2\n");
00419     if (!getspecset(sess, version2ptr))
00420         return false;
00421 
00422     return true;
00423 }

bool gettumbler Session sess,
Tumbler tumblerptr
 

parse a tumbler value from the input stream

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 218 of file get2.cxx.

References eatchar(), Session::errp, Tumbler::exp, getnum(), Tumbler::mantissa, needchar(), NPLACES, Tumbler::sign, and tumblerclear.

00219                                : User's session context
00220     Tumbler *tumblerptr)
00221 {
00222     int i;
00223 
00224     tumblerclear(tumblerptr);
00225     if (eatchar(sess, '-'))
00226         tumblerptr->sign = 1;
00227 
00228     for (i = 0; i < NPLACES; ++i) {
00229         if (!getnum(sess, (int *) &tumblerptr->mantissa[i]))
00230             return false;
00231 
00232         if (tumblerptr->mantissa[i] == 0 && i == 0) {
00233             --tumblerptr->exp;
00234             --i;
00235         }
00236 
00237         if (!eatchar(sess, '.'))
00238             break;
00239     }
00240 
00241     if (eatchar(sess, '.')) {
00242         fprintf(sess->errp, "tumbler overflow\n");
00243         return false;
00244     }
00245 
00246     for (i = 0; i < NPLACES && tumblerptr->mantissa[i] == 0; ++i)
00247         ;
00248 
00249     if (i == NPLACES)
00250         tumblerptr->exp = 0;
00251 
00252     return needchar(sess, '\n');
00253 }

bool getxaccount Session sess,
IStreamAddr accountptr
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 514 of file get1.cxx.

References Session::account, gettumbler(), interfaceinput, logstuff, player, user, validaccount(), and XACCOUNT.

Referenced by xaccount().

00515                                    : User's session context
00516     IStreamAddr *accountptr)
00517 {
00518 /* tumblerclear (accountptr); return true; */
00519 
00520 /* prompt (sess, "account? "); */
00521 
00522     gettumbler(sess, accountptr) && validaccount(sess, accountptr);
00523     sess->account = *accountptr;
00524 
00525     L("in get xaccount \n");
00526 
00527     return true;
00528 }

void insert Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 244 of file fns.cxx.

References doinsert(), getinsert(), L, putinsert(), and typetextset.

Referenced by init().

00245                                : User's session context
00246 {                                      /* cheating version for unix zzz */
00247     IStreamAddr docisa, vsa;
00248     typetextset textset;
00249 
00250     getinsert(sess, &docisa, &vsa, &textset);
00251     putinsert(sess);
00252 
00253     if (!doinsert(sess, &docisa, &vsa, textset))
00254 #ifndef DISTRIBUTION
00255         L("requestfailed in insert\n");
00256 #else
00257         ;
00258 #endif
00259 }

void myclose Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 679 of file fns.cxx.

References doclose(), getclose(), putclose(), and putrequestfailed().

Referenced by init().

00680                                : User's session context
00681 {
00682     IStreamAddr t;
00683 
00684     if (getclose(sess, &t)
00685         && doclose(sess, &t)) {
00686         putclose(sess);
00687     } else {
00688         putrequestfailed(sess);
00689     }
00690 }

void myopen Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 657 of file fns.cxx.

References doopen(), getopen(), putopen(), and putrequestfailed().

Referenced by init().

00658                                : User's session context
00659 {
00660     IStreamAddr t, newt;
00661     int type, mode;
00662 
00663     if (getopen(sess, &t, &type, &mode)
00664         && doopen(sess, &t, &newt, type, mode)) {
00665         putopen(sess, &newt);
00666     } else {
00667         putrequestfailed(sess);
00668     }
00669 }

void navigateonht Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 452 of file fns.cxx.

References error().

Referenced by init().

00453                                : User's session context
00454 {
00455 #ifndef DISTRIBUTION
00456     error(sess, "GACK !  (historical trace)\n");
00457 #endif
00458 
00459 /* 
00460  * IStreamAddr docisa, htisa; typehtpath turninginstructions; bool
00461  * getnavigateonht(); if (getnavigateonht(sess, &docisa, &htisa,
00462  * &turninginstructions)) donavigateonht(sess, &docisa, &htisa,
00463  * &turninginstructions); */
00464 }

void playwithalloc Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 484 of file get1.cxx.

References lookatalloc(), and prompt().

00485                                : User's session context
00486 {
00487     prompt(sess, "playwithalloc\n");
00488     lookatalloc();
00489 }

void prompt Session session,
char *  string
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 98 of file put.cxx.

00099                                : User's session context
00100     char    *string)
00101 {
00102     fprintf(sess->outp, "%s", string);
00103 }

void putclose Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 680 of file put.cxx.

References CLOSE, Session::outp, and putnumber().

Referenced by myclose().

00681                                : User's session context
00682 {
00683 }

void putcopy Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 571 of file put.cxx.

References COPY, Session::outp, and putnumber().

Referenced by copy().

00572                                : User's session context
00573 {
00574 }

void putcreatelink Session session,
IStreamAddr istreamptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 348 of file put.cxx.

References CREATELINK, Session::outp, putisa(), and putnumber().

Referenced by createlink().

00349                                    : User's session context
00350     IStreamAddr *istreamptr)
00351 {
00352     fprintf(sess->outp, "\nlink made: ");
00353     putisa(sess, istreamptr);
00354     fprintf(sess->outp, "\n");
00355 }

void putcreatenewdocument Session session,
IStreamAddr newdocisaptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 493 of file put.cxx.

00494                                    : User's session context
00495     IStreamAddr *newdocisaptr)
00496 {
00497     fprintf(sess->outp, "new document: ");
00498     putisa(sess, newdocisaptr);
00499     fprintf(sess->outp, "\n\n");
00500 }

void putcreatenewversion Session session,
IStreamAddr newdocisaptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 510 of file put.cxx.

References CREATENEWVERSION, Session::outp, putisa(), and putnumber().

Referenced by createnewversion().

00511                                    : User's session context
00512     IStreamAddr *newdocisaptr)
00513 {
00514     fprintf(sess->outp, "new version: ");
00515     putisa(sess, newdocisaptr);
00516     fprintf(sess->outp, "\n");
00517 }

void putcreatenode_or_account Session session,
Tumbler tp
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 650 of file put.cxx.

References CREATENODE_OR_ACCOUNT, Session::outp, putnumber(), and puttumbler().

Referenced by createnode_or_account().

00651                                : User's session context
00652     Tumbler *tp)
00653 {
00654     puttumbler(sess->outp, tp);
00655 }

void putdeletevspan Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 584 of file put.cxx.

References DELETEVSPAN, Session::outp, and putnumber().

Referenced by deletevspan().

00585                                : User's session context
00586 {
00587 }

void putfinddocscontaining Session session,
typeitemset  addressset
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 520 of file put.cxx.

References FINDDOCSCONTAINING, Session::outp, putitemset(), putnumber(), and typeitemset.

Referenced by finddocscontaining().

00521                                    : User's session context
00522     typeitemset  addressset)
00523 {
00524     fprintf(sess->outp, "\ndocuments\n");
00525     putitemset(sess, addressset);
00526 }

void putfindlinksfromtothree Session session,
typelinkset  linkset
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 429 of file put.cxx.

References FINDLINKSFROMTOTHREE, logfile, Session::outp, putitemset(), putnumber(), typeitemset, and typelinkset.

Referenced by findlinksfromtothree().

00430                                    : User's session context
00431     typelinkset  linkset)
00432 {
00433     fprintf(sess->outp, "\nlinks\n");
00434     putitemset(sess, (typeitem *) linkset);
00435 }

void putfindnextnlinksfromtothree Session session,
int  n,
typelinkset  nextlinkset
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 460 of file put.cxx.

References FINDNEXTNLINKSFROMTOTHREE, Session::outp, putitemset(), putnumber(), typeitemset, and typelinkset.

Referenced by findnextnlinksfromtothree().

00461                                    : User's session context
00462     int          n,
00463     typelinkset  nextlinkset)
00464 {
00465     fprintf(sess->outp, "next number of links: %d\n", n);
00466     putitemset(sess, (typeitem *) nextlinkset);
00467 }

void putfindnumoflinksfromtothree Session session,
int  num
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 445 of file put.cxx.

References FINDNUMOFLINKSFROMTOTHREE, Session::outp, and putnumber().

Referenced by findnumoflinksfromtothree().

00446                                : User's session context
00447     int      num)
00448 {
00449     fprintf(sess->outp, "\nnumber of links: %d\n", num);
00450 }

void putfollowlink Session session,
typespecset  specset
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 365 of file put.cxx.

References FOLLOWLINK, Session::outp, putitemset(), putnumber(), typeitemset, and typespecset.

Referenced by followlink().

00366                                    : User's session context
00367     typespecset  specset)
00368 {
00369     fprintf(sess->outp, "link endset is:\n");
00370     putitemset(sess, (typeitem *) specset);
00371 }

void putinsert Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 558 of file put.cxx.

References INSERT, Session::outp, and putnumber().

Referenced by insert().

00559                                : User's session context
00560 {
00561 }

void putisa Session session,
IStreamAddr isaptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 180 of file put.cxx.

References Session::outp, and puttumbler().

Referenced by putcreatelink(), putcreatenewdocument(), putcreatenewversion(), and putitem().

00181                                    : User's session context
00182     IStreamAddr *isaptr)
00183 {
00184     puttumbler(sess->outp, isaptr);
00185 }

void putitem Session session,
typeitem itemptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 220 of file put.cxx.

References error(), ISPANID, LINKID, Session::outp, putisa(), putitemset(), putspan(), puttext(), SPORGLID, TEXTID, typelink, VSPANID, and VSPECID.

00221                                 : User's session context
00222     typeitem *itemptr)
00223 {
00224     switch (((typeitemheader *) itemptr)->itemid) {
00225     case ISPANID:
00226         fprintf(sess->outp, "  ispan\n");
00227         putspan(sess, (typespan *) itemptr);
00228         break;
00229     case VSPANID:
00230         fprintf(sess->outp, "  vspan\n");
00231         putspan(sess, (typespan *) itemptr);
00232         break;
00233     case VSPECID:
00234         fprintf(sess->outp, "document: ");
00235         putisa(sess, &((typevspec *) itemptr)->docisa);
00236         fprintf(sess->outp, "\nspans");
00237         putitemset(sess, (typeitem *) ((typevspec *) itemptr)->vspanset);
00238         break;
00239     case TEXTID:
00240         puttext(sess, (typetext *) itemptr);
00241         break;
00242     case LINKID:
00243         putisa(sess, &((typelink *) itemptr)-> /* link */ address);
00244         break;
00245 
00246 #ifndef DISTRIBUTION
00247     case SPORGLID:
00248         fprintf(sess->outp, "sporgl address: ");
00249         putisa(sess, &((typesporgl *) itemptr)->sporgladdress);
00250 
00251         fprintf(sess->outp, "\n   sporgl origin: ");
00252         putisa(sess, (IStreamAddr *) &((typesporgl *) itemptr)->sporglorigin);
00253 
00254         fprintf(sess->outp, "\n   sporgl width: ");
00255         putisa(sess, (IStreamAddr *) &((typesporgl *) itemptr)->sporglwidth);
00256 
00257         fprintf(sess->outp, "\n");
00258         break;
00259 #endif
00260     default:
00261         error(sess, "illegal item id for putitem ");
00262         fprintf(sess->outp, "%x  %d\nd", (int) itemptr, ((typeitemheader *) itemptr)->itemid);
00263         return;
00264     }
00265 }

void putitemset Session session,
typeitemset  itemset
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 195 of file put.cxx.

00196                                    : User's session context
00197     typeitemset  itemset)
00198 {
00199     if (itemset == NULL) {
00200         fprintf(sess->outp, "  \nitemset empty\n");
00201         return;
00202     }
00203     for (; itemset; itemset = (typeitemset) ((typeitemheader *) itemset)->next) {
00204         putitem(sess, itemset);
00205         if (!
00206             (((typeitemheader *) itemset)->next && ((typeitemheader *) itemset)->itemid == TEXTID
00207              && ((typeitemheader *) itemset)->next->itemid == TEXTID))
00208             putc('\n', sess->outp);
00209     }
00210 }

void putnum FILE *  outfile,
int  num
 

???

(to be defined)

Definition at line 165 of file put.cxx.

00168 {
00169     fprintf(outfile, "%d", num);
00170 }

void putopen Session session,
Tumbler tp
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 665 of file put.cxx.

References OPEN, Session::outp, putnumber(), and puttumbler().

Referenced by myopen().

00666                                : User's session context
00667     Tumbler *tp)
00668 {
00669     puttumbler(sess->outp, tp);
00670 }

void putquitxanadu Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 693 of file put.cxx.

References Session::outp, putnumber(), and QUIT.

Referenced by quitxanadu().

00694                                 : User's session context
00695 {
00696     fprintf(sess->outp, "Good Bye.\n");
00697 }

void putrearrange Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 597 of file put.cxx.

References Session::outp, putnumber(), and REARRANGE.

Referenced by rearrange().

00598                                 : User's session context
00599 {
00600 }

void putrequestfailed Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 610 of file put.cxx.

00611                                 : User's session context
00612 {
00613     fprintf(sess->outp, "?\n");
00614 }

void putretrievedocvspan Session session,
typespan vspanptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 397 of file put.cxx.

References Session::outp, putnumber(), putspan(), and RETRIEVEDOCVSPAN.

Referenced by retrievedocvspan().

00398                                 : User's session context
00399     typespan *vspanptr)
00400 {
00401     fprintf(sess->outp, "docvspan is:\n");
00402     putspan(sess, vspanptr);
00403 }

void putretrievedocvspanset Session session,
typespanset spansetptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 381 of file put.cxx.

References Session::outp, putitemset(), putnumber(), RETRIEVEDOCVSPANSET, typeitemset, and typespanset.

Referenced by retrievedocvspanset().

00382                                    : User's session context
00383     typespanset *spansetptr)
00384 {
00385     fprintf(sess->outp, "docvspans are:\n");
00386     putitemset(sess, (typeitem *) *spansetptr);
00387 }

void putretrieveendsets Session session,
typespecset  fromset,
typespecset  toset,
typespecset  threeset
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 536 of file put.cxx.

References Session::outp, putitemset(), putnumber(), RETRIEVEENDSETS, typeitemset, and typespecset.

Referenced by retrieveendsets().

00537                                    : User's session context
00538     typespecset  fromset,
00539     typespecset  toset,
00540     typespecset  threeset)
00541 {
00542     fprintf(sess->outp, "\nfromset\n");
00543     putitemset(sess, (typeitem *) fromset);
00544     fprintf(sess->outp, "\ntoset\n");
00545     putitemset(sess, (typeitem *) toset);
00546     fprintf(sess->outp, "\nthreeset\n");
00547     putitemset(sess, (typeitem *) toset);
00548 }

void putretrievev Session session,
typevstuffset vstuffsetptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 413 of file put.cxx.

References Session::outp, putitemset(), putnumber(), RETRIEVEV, typeitemset, and typevstuffset.

Referenced by retrievev().

00414                                      : User's session context
00415     typevstuffset *vstuffsetptr)
00416 {
00417     fprintf(sess->outp, "\nvstuff is:\n");
00418     putitemset(sess, (typeitem *) *vstuffsetptr);
00419 }

void putshowrelationof2versions Session session,
typespanpairset  relation
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 477 of file put.cxx.

References Session::outp, putnumber(), putspanpairset(), SHOWRELATIONOF2VERSIONS, and typespanpairset.

Referenced by showrelationof2versions().

00478                                        : User's session context
00479     typespanpairset  relation)
00480 {
00481     fprintf(sess->outp, "relation between versions:\n");
00482     putspanpairset(sess, relation);
00483 }

void putspan Session session,
typespan spanptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 275 of file put.cxx.

References Session::outp, puttumbler(), typespan::stream, and typespan::width.

00276                                 : User's session context
00277     typespan *spanptr)
00278 {
00279     fprintf(sess->outp, "   span address: ");
00280     puttumbler(sess->outp, &spanptr->stream);
00281     fprintf(sess->outp, "\n   span width: ");
00282     puttumbler(sess->outp, &spanptr->width);
00283 }

void putspanpair Session session,
typespanpair spanpair
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 327 of file put.cxx.

References Session::outp, puttumbler(), typespanpair::stream1, typespanpair::stream2, and typespanpair::widthofspan.

00328                                     : User's session context
00329     typespanpair *spanpair)
00330 {
00331     fprintf(sess->outp, "start1:  ");
00332     puttumbler(sess->outp, &spanpair->stream1);
00333     fprintf(sess->outp, "\nstart2:  ");
00334     puttumbler(sess->outp, &spanpair->stream2);
00335     fprintf(sess->outp, "\nwidth:  ");
00336     puttumbler(sess->outp, &spanpair->widthofspan);
00337     fprintf(sess->outp, "\n");
00338 }

void putspanpairset Session session,
typespanpairset  spanpairset
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 308 of file put.cxx.

References typespanpair::nextspanpair, Session::outp, putnumber(), putspanpair(), and typespanpairset.

Referenced by putshowrelationof2versions().

00309                                        : User's session context
00310     typespanpairset  spanpairset)
00311 {
00312     if (!spanpairset)
00313         fprintf(sess->outp, "NULL relationship\n");
00314     else
00315         for (; spanpairset; spanpairset = spanpairset->nextspanpair)
00316             putspanpair(sess, spanpairset);
00317 }

void puttext Session session,
typetext textptr
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 293 of file put.cxx.

References typetext::length, Session::outp, and typetext::string.

00294                                 : User's session context
00295     typetext *textptr)
00296 {
00297     write(fileno(sess->outp), textptr->string, textptr->length);
00298 }

void puttumbler FILE *  outfile,
Tumbler tumblerptr
 

???

(to be defined)

Definition at line 128 of file put.cxx.

00131 {
00132     int i, place;
00133 
00134     if (!tumblercheck(tumblerptr) || tumblerptr->exp < MINEXP) {
00135         dumptumbler(tumblerptr);
00136         return;
00137     }
00138 
00139     if (tumblerptr->sign)
00140         fprintf(outfile, "-");
00141 
00142     for (i = tumblerptr->exp; i < 0; ++i)
00143         fprintf(outfile, "0.");
00144 
00145     place = NPLACES;
00146     do {
00147         --place;
00148     } while (place > 0 && tumblerptr->mantissa[place] == 0);
00149 
00150     for (i = 0; i <= place; ++i) {
00151         putnum(outfile, tumblerptr->mantissa[i]);
00152         if (i < place)
00153             putc('.', outfile);
00154     }
00155 }

void putxaccount Session session  ) 
 

???

(to be defined)

Parameters:
session  Input: User's session context

Definition at line 637 of file put.cxx.

References Session::outp, putnumber(), and XACCOUNT.

Referenced by xaccount().

00638                                 : User's session context
00639 {
00640 }

void quitxanadu Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 700 of file fns.cxx.

References backenddaemon, closeberts(), diskexit(), interfaceinput, putquitxanadu(), and QUIT.

Referenced by init().

00701                                : User's session context
00702 {
00703     putquitxanadu(sess);
00704 
00705     if (!backenddaemon) {
00706         if (interfaceinput) {
00707             fprintf(interfaceinput, "%d~\n", QUIT);
00708             fclose(interfaceinput);
00709         }
00710         diskexit();
00711     } else
00712         closeberts(sess);              /* Close all of the user's outstanding opens */
00713 }

void rearrange Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 337 of file fns.cxx.

References dorearrange(), getrearrange(), L, and putrearrange().

Referenced by init().

00338                                : User's session context
00339 {                                      /* speed hack for unix */
00340     IStreamAddr docisa;
00341     typecutseq cutseq;
00342 
00343     (void)getrearrange(sess, &docisa, &cutseq);
00344     putrearrange(sess);
00345     if (!dorearrange(sess, &docisa, &cutseq))
00346 #ifndef DISTRIBUTION
00347         L("rearrange failed \n");
00348 #else
00349         ;
00350 #endif
00351 }

void retrievedocvspan Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 544 of file fns.cxx.

References doretrievedocvspan(), getretrievedocvspan(), putrequestfailed(), putretrievedocvspan(), and typevspan.

Referenced by init().

00545                                : User's session context
00546 {
00547     IStreamAddr docisa;
00548     typevspan vspan;
00549 
00550     if (getretrievedocvspan(sess, &docisa)
00551         && doretrievedocvspan(sess, &docisa, &vspan))
00552         putretrievedocvspan(sess, &vspan);
00553     else
00554         putrequestfailed(sess);
00555 }

void retrievedocvspanset Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 312 of file fns.cxx.

References doretrievedocvspanset(), getretrievedocvspanset(), putrequestfailed(), putretrievedocvspanset(), and typevspanset.

Referenced by init().

00313                                : User's session context
00314 {
00315     IStreamAddr docisa;
00316     typevspanset vspanset;
00317 
00318     if (getretrievedocvspanset(sess, &docisa)
00319         && doretrievedocvspanset(sess, &docisa, &vspanset))
00320         putretrievedocvspanset(sess, &vspanset);
00321     else
00322         putrequestfailed(sess);
00323 }

void retrieveendsets Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 597 of file fns.cxx.

References doretrieveendsets(), getretrieveendsets(), putrequestfailed(), putretrieveendsets(), and typespecset.

Referenced by init().

00598                                : User's session context
00599 {
00600     typespecset specset, fromset, toset, threeset;
00601 
00602     if (getretrieveendsets(sess, &specset)
00603         && doretrieveendsets(sess, specset, &fromset, &toset, &threeset)) {
00604 
00605         putretrieveendsets(sess, fromset, toset, threeset);
00606     } else
00607         putrequestfailed(sess);
00608 }

void retrievev Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 361 of file fns.cxx.

References doretrievev(), getretrievev(), putrequestfailed(), putretrievev(), typespecset, and typevstuffset.

Referenced by init().

00362                                : User's session context
00363 {
00364     typespecset specset;
00365     typevstuffset vstuffset;
00366 
00367     if (getretrievev(sess, &specset)
00368         && doretrievev(sess, specset, &vstuffset))
00369         putretrievev(sess, &vstuffset);
00370     else
00371         putrequestfailed(sess);
00372 }

void setdebug Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 469 of file get1.cxx.

References debug, and getnumber().

00470                                : User's session context
00471 {
00472     prompt(sess, "set debug => ");
00473     getnumber(sess, &debug);
00474 }

void showenfilades Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 790 of file fns.cxx.

References granf, Session::inp, L, prompt(), showorgl(), showsubtree(), and spanf.

00791                                : User's session context
00792 {
00793 #ifndef DISTRIBUTION
00794     char c;
00795 
00796     prompt(sess, "\ngranf (g), spanf (s) or orgl (o) ? ");
00797     c = getc(sess->inp);
00798     if (c != '\n')
00799         getc(sess->inp);
00800 
00801     L("\n");
00802 
00803     switch (c) {
00804     case 'o':  showorgl(sess);                           break;
00805     case 'g':  showsubtree((typecorecrumhedr *) granf);  break;
00806     case 's':  showsubtree((typecorecrumhedr *) spanf);  break;
00807     default:                                             break;
00808     }
00809 #endif
00810 }

void showorgl Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 765 of file fns.cxx.

References findorgl(), gettumbler(), granf, L, prompt(), READBERT, showsubtree(), typecorecrum, and typeorgl.

Referenced by examine(), and showenfilades().

00766                                : User's session context
00767 {
00768 #ifndef DISTRIBUTION
00769     typeorgl orgl;
00770     IStreamAddr orglisa;
00771 
00772     prompt(sess, "orgl isa => ");
00773     if (!(gettumbler(sess, &orglisa)
00774           && findorgl(sess, granf, &orglisa, &orgl, READBERT))) {
00775         L("\nnot found\n");
00776     } else {
00777         showsubtree((typecorecrum *) orgl);
00778     }
00779 #endif
00780 }

void showrelationof2versions Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 474 of file fns.cxx.

References doshowrelationof2versions(), getshowrelationof2versions(), putrequestfailed(), putshowrelationof2versions(), typespanpairset, and typespecset.

Referenced by init().

00475                                : User's session context
00476 {
00477     typespecset version1, version2;
00478     typespanpairset relation;
00479 
00480     if (getshowrelationof2versions(sess, &version1, &version2)
00481         && doshowrelationof2versions(sess, version1, version2, &relation))
00482         putshowrelationof2versions(sess, relation);
00483     else
00484         putrequestfailed(sess);
00485 }

void xaccount Session sess  ) 
 

???

(to be defined)

Parameters:
sess  Input: User's session context

Definition at line 618 of file fns.cxx.

References getxaccount(), player, putrequestfailed(), putxaccount(), and user.

Referenced by init().

00619                                : User's session context
00620 {
00621     if (getxaccount(sess, (IStreamAddr *) &(player[user].account))) {
00622         putxaccount(sess);
00623     } else {
00624         putrequestfailed(sess);
00625     }
00626 }


Variable Documentation

int backenddaemon
 

Definition at line 166 of file fns.cxx.

FILE* interfaceinput
 

Definition at line 164 of file fns.cxx.


Generated on Sun Aug 21 04:18:43 2005 for Udanax-Green by doxygen1.3.4