/* pipe (3) file and file descriptor handling functions */
int makepipe(char *pipename);
int mkrdfd(char *name);
int mkwrfd(char *name);
int newout(Hub *h, char *name);
int newin(Hub *h, char *name);
/* server procs that handle i/o on the pipe (3) fds */
void hubsrv(Hub *h);
void rdproc(Hub *h, int id, int infd);
void wrproc(Hub *h, int id, int outfd);
void ctlsrv(int ctlfd);
/* utility functions to handle Hub variables and state */
void zerohub(Hub *h);
Hub* starthub(int hnum, char *name, char *firstin);
void parsecmd(char *cmdbuf);
/* note that much important user-facing functionality is implemented in the ioshell client */
/* the logic handling creation and movement between multiple rc trihubs is located there */
|