int msgsetup (void) { int x; if (server) { x = readmsg (MSGSETUP); if (x != SCMOK) return (x); if (protver >= 7) { x = readint (&xpatch); if (x != SCMOK) return (x); } else xpatch = FALSE; if (xpatch) { x = readstring (&xuser); if (x != SCMOK) return (x); return (readmend ()); } x = readstring (&collname_g); if (x == SCMOK) x = readint ((int *)&lasttime); if (x == SCMOK) x = readstring (&basedir_g); if (x == SCMOK) x = readint (&basedev); if (x == SCMOK) x = readint (&baseino); if (x == SCMOK) x = readint (&listonly); if (x == SCMOK) x = readint (&newonly); if (x == SCMOK) if (protver < 6) release = (char *)NULL; else x = readstring (&release); if (x == SCMOK) x = readmend (); } else { x = writemsg (MSGSETUP); if (x != SCMOK) return (x); if (protver >= 7) { x = writeint (xpatch); if (x != SCMOK) return (x); } if (xpatch) { x = writestring (xuser); if (x != SCMOK) return (x); return (writemend ()); } if (x == SCMOK) x = writestring (collname_g); if (x == SCMOK) x = writeint ((int)lasttime); if (x == SCMOK) x = writestring (basedir_g); if (x == SCMOK) x = writeint (basedev); if (x == SCMOK) x = writeint (baseino); if (x == SCMOK) x = writeint (listonly); if (x == SCMOK) x = writeint (newonly); if (x == SCMOK && protver >= 6) x = writestring (release); if (x == SCMOK) x = writemend (); } return (x); }
int msgxpatch (void) { int x; int i; if (server) { x = readmsg (MSGXPATCH); if (x != SCMOK) return (x); x = readint (&xargc); if (x != SCMOK) return (x); xargc += 2; xargv = (char **)calloc (sizeof (char *),(unsigned)xargc+1); if (xargv == NULL) return (SCMERR); for (i = 2; i < xargc; i++) { x = readstring (&xargv[i]); if (x != SCMOK) return (x); } x = readmend (); } else { x = writemsg (MSGXPATCH); if (x != SCMOK) return (x); x = writeint (xargc); if (x != SCMOK) return (x); for (i = 0; i < xargc; i++) { x = writestring (xargv[i]); if (x != SCMOK) return (x); } x = writemend (); } return (x); }
int msgneed (void) { int x; if (server) { char *name; int update; TREE *t; x = readmsg (MSGNEED); if (x == SCMOK) x = readstring (&name); while (x == SCMOK) { if (name == NULL) break; x = readint (&update); if (x != SCMOK) break; t = Tinsert (&needT,name,TRUE); free (name); if (update) t->Tflags |= FUPDATE; x = readstring (&name); } if (x == SCMOK) x = readmend (); } else { x = writemsg (MSGNEED); if (x == SCMOK) x = Tprocess (needT,needone); if (x == SCMOK) x = writestring ((char *)NULL); if (x == SCMOK) x = writemend (); } return (x); }
int msglist (void) { int x; if (server) { x = writemsg (MSGLIST); if (x == SCMOK) x = Tprocess (listT,listone); if (x == SCMOK) x = writestring ((char *)NULL); if (x == SCMOK) x = writeint ((int)scantime); if (x == SCMOK) x = writemend (); } else { char *name; int mode,flags,mtime; TREE *t; x = readmsg (MSGLIST); if (x == SCMOK) x = readstring (&name); while (x == SCMOK) { if (name == NULL) break; x = readint (&mode); if (x == SCMOK) x = readint (&flags); if (x == SCMOK) x = readint (&mtime); if (x != SCMOK) break; t = Tinsert (&listT,name,TRUE); free (name); t->Tmode = mode; t->Tflags = flags; t->Tmtime = mtime; x = readstring (&name); } if (x == SCMOK) x = readint ((int *)&scantime); if (x == SCMOK) x = readmend (); } return (x); }
int msglogack (void) { int x; if (server) { x = writemsg (MSGLOGACK); if (x == SCMOK) x = writeint (logack); if (x == SCMOK) x = writestring (logerror); if (x == SCMOK) x = writemend (); } else { x = readmsg (MSGLOGACK); if (x == SCMOK) x = readint (&logack); if (x == SCMOK) x = readstring (&logerror); if (x == SCMOK) x = readmend (); } return (x); }
int msglogin (void) { int x; if (server) { x = readmsg (MSGLOGIN); if (x == SCMOK) x = readstring (&logcrypt); if (x == SCMOK) x = readstring (&loguser); if (x == SCMOK) x = readstring (&logpswd); if (x == SCMOK) x = readmend (); } else { x = writemsg (MSGLOGIN); if (x == SCMOK) x = writestring (logcrypt); if (x == SCMOK) x = writestring (loguser); if (x == SCMOK) x = writestring (logpswd); if (x == SCMOK) x = writemend (); } return (x); }
int msgsignon (void) { int x; if (server) { x = readmsg (MSGSIGNON); if (x == SCMOK) x = readint (&protver); if (x == SCMOK) x = readint (&pgmver); if (x == SCMOK) x = readstring (&scmver); if (x == SCMOK) x = readmend (); } else { x = writemsg (MSGSIGNON); if (x == SCMOK) x = writeint (PROTOVERSION); if (x == SCMOK) x = writeint (pgmversion); if (x == SCMOK) x = writestring (scmversion); if (x == SCMOK) x = writemend (); } return (x); }
int msgdone (void) { int x; if (protver < 6) { printf ("Error, msgdone should not have been called."); return (SCMERR); } if (server) { x = readmsg (MSGDONE); if (x == SCMOK) x = readint (&doneack); if (x == SCMOK) x = readstring (&donereason); if (x == SCMOK) x = readmend (); } else { x = writemsg (MSGDONE); if (x == SCMOK) x = writeint (doneack); if (x == SCMOK) x = writestring (donereason); if (x == SCMOK) x = writemend (); } return (x); }
int msgsignonack () { register int x; if (server) { x = writemsg (MSGSIGNONACK); if (x == SCMOK) x = writeint (PROTOVERSION); if (x == SCMOK) x = writeint (pgmversion); if (x == SCMOK) x = writestring (scmversion); if (x == SCMOK) x = writeint (fspid); if (x == SCMOK) x = writemend (); } else { x = readmsg (MSGSIGNONACK); if (x == SCMOK) x = readint (&protver); if (x == SCMOK) x = readint (&pgmver); if (x == SCMOK) x = readstring (&scmver); if (x == SCMOK) x = readint (&fspid); if (x == SCMOK) x = readmend (); } return (x); }
int msgdeny (void) { int x; if (server) { x = writemsg (MSGDENY); if (x == SCMOK) x = Tprocess (denyT,denyone); if (x == SCMOK) x = writestring ((char *)NULL); if (x == SCMOK) x = writemend (); } else { char *name; x = readmsg (MSGDENY); if (x == SCMOK) x = readstring (&name); while (x == SCMOK) { if (name == NULL) break; (void) Tinsert (&denyT,name,FALSE); free (name); x = readstring (&name); } if (x == SCMOK) x = readmend (); } return (x); }
int msgrefuse (void) { int x; if (server) { char *name; x = readmsg (MSGREFUSE); if (x == SCMOK) x = readstring (&name); while (x == SCMOK) { if (name == NULL) break; (void) Tinsert (&refuseT,name,FALSE); free (name); x = readstring (&name); } if (x == SCMOK) x = readmend (); } else { x = writemsg (MSGREFUSE); if (x == SCMOK) x = Tprocess (refuseT,refuseone); if (x == SCMOK) x = writestring ((char *)NULL); if (x == SCMOK) x = writemend (); } return (x); }