Annotation of xinu/sys/TEST/test.c.pshell, revision 1.1.1.1

1.1       root        1: /* test.c - main */
                      2: 
                      3: #include <conf.h>
                      4: #include <kernel.h>
                      5: #include <network.h>
                      6: 
                      7: /*------------------------------------------------------------------------
                      8:  *  main  --  run UDP echo server and Xinu pseudo-shell
                      9:  *------------------------------------------------------------------------
                     10:  */
                     11: main()
                     12: {
                     13:        int     eserver();
                     14:        Bool    first;
                     15: 
                     16:        /* start UDP echo server */
                     17: 
                     18:        resume( create(eserver, 400, 30, "UDPecho", 0) );
                     19: 
                     20:        for (first=TRUE ; TRUE ; first=FALSE) {
                     21:                pshell(first);
                     22:        }
                     23: }
                     24: 
                     25: static struct  xgram   buff;   /* Here because the stack is small */
                     26: 
                     27: /*------------------------------------------------------------------------
                     28:  *  eserver  -  implement UDP echo server that runs in background
                     29:  *------------------------------------------------------------------------
                     30:  */
                     31: eserver()
                     32: {
                     33:        int     echodev;
                     34:        int     len;
                     35: 
                     36:        echodev = open(NETWORK, ANYFPORT, UECHO);
                     37: 
                     38:        while (TRUE) {
                     39:                len = read(echodev, &buff, sizeof(struct xgram));
                     40:                if (len == SYSERR)
                     41:                        continue;
                     42:                write(echodev, &buff, len);
                     43:        }
                     44: }
                     45: 
                     46: /*------------------------------------------------------------------------
                     47:  *  dumpit  -  really just to add dump routines to memory image for debug
                     48:  *------------------------------------------------------------------------
                     49:  */
                     50: dumpit()
                     51: {
                     52: /*T*/
                     53:        prdump();
                     54:        rfdump();
                     55:        dgdump();
                     56:        adump();
                     57: /*T*/
                     58: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.