|
void | input (char *prompt, char *format, char *var) |
|
| fscanf (stdin, format, var) |
|
END void | nmconnect () kern_return_t kr |
|
| if (kr==NETNAME_SUCCESS) |
|
END void | printmenu () fprintf(stdout |
|
| fprintf (stdout, "This programs allows to perform tests on a network server.\n") |
|
| fprintf (stdout, "\n") |
|
| fprintf (stdout, "Available commands:\n") |
|
| fprintf (stdout, " H,?.......Print this message\n") |
|
| fprintf (stdout, " C.........(Re)connect to network server\n") |
|
| fprintf (stdout, " Ports:\n") |
|
| fprintf (stdout, " PA.........Allocate\n") |
|
| fprintf (stdout, " PC,PI......Check in <port> <name>\n") |
|
| fprintf (stdout, " PO.........Check out <port>\n") |
|
| fprintf (stdout, " PL.........Look up <host> <name>\n") |
|
| fprintf (stdout, " PD.........Deallocate <port>\n") |
|
| fprintf (stdout, " PS.........Print status of all known ports\n") |
|
| fprintf (stdout, " Messages:\n") |
|
| fprintf (stdout, " MI.........Send IPC <remote-port> <local-port>\n") |
|
| fprintf (stdout, " MR.........Send RPC <remote-port> <local-port>\n") |
|
| fprintf (stdout, " Rights:\n") |
|
| fprintf (stdout, " RS.........Transfer send rights <port> <destination>\n") |
|
MSG_TYPE_PORT_RECEIVE MSG_TYPE_PORT_OWNERSHIP | fprintf (stdout, " RA.........Transfer all rights <port> <destination>\n") |
|
| fprintf (stdout, " Q.........Quit\n") |
|
END void | printport (char *str, int index) |
|
| if (port_index==-1) |
|
| RETURN (port_index) |
|
END void | genericports () char subcmd[2] |
|
| input ("Enter Port sub-command: ", "%1s", subcmd) |
|
| switch (subcmd[0]) |
|
| fflush (stdout) |
|
END void | genericmsg () char subcmd[2] |
|
| input ("Enter Message sub-command: ", "%1s", subcmd) |
|
| input ("Remote Port: ", "%d",(char *)&remote_port) |
|
| input ("Local Port: ", "%d",(char *)&local_port) |
|
| CHECK_PORT (remote_port, return) |
|
| CHECK_PORT (local_port, return) |
|
END void | genericrights () char subcmd[2] |
|
| input ("Enter Rights sub-command: ", "%1s", subcmd) |
|
| input ("Object Port: ", "%d",(char *)&object_port) |
|
| input ("Destination Port: ", "%d",(char *)&destination_port) |
|
| CHECK_PORT (object_port, return) |
|
| CHECK_PORT (destination_port, return) |
|
END | main (int argc, char **argv) |
|
| while (!quit) |
|
| fprintf (stdout, "Terminated.\n") |
|
| exit (0) |
|
END void | receive_main () msg_return_t msg_ret |
|
| for (;;) |
|
END int | initialize () int i |
|
| init_netname (PORT_NULL) |
|
| for (i=0;i< MAXPORTS;i++) ports[i].rights=0 |
|
| strcpy (ports[0].name,"NULLPORT") |
|
| cthread_init () |
|
| cthread_set_name (receive_thread, "receive_main") |
|
| cthread_detach (receive_thread) |
|
void | port_enable (task_self(), task_notify()) |
|
| RETURN (1) |
|