Annotation of 42BSD/ucb/lisp/franz/fpipe.c, revision 1.1.1.1

1.1       root        1: #ifndef lint
                      2: static char *rcsid =
                      3:    "$Header: /na/franz/franz/RCS/fpipe.c,v 1.1 83/01/29 12:49:40 jkf Exp $";
                      4: #endif
                      5: 
                      6: /*                                     -[Sat Jan 29 12:44:16 1983 by jkf]-
                      7:  *     fpipe.c                         $Locker:  $
                      8:  * pipe creation
                      9:  *
                     10:  * (c) copyright 1982, Regents of the University of California
                     11:  */
                     12: 
                     13: 
                     14: #include "global.h"
                     15: #include <signal.h>
                     16: FILE *_dofpip(iodes)
                     17: int iodes;
                     18: {
                     19:        register FILE *p;
                     20: 
                     21:        for(p=_iob; (p->_flag&(_IOWRT|_IOREAD))!=0; p++)
                     22:                if (p >= _iob+_NFILE)
                     23:                        return(NULL);
                     24:        p->_file = iodes;
                     25:        p->_cnt = 0;
                     26:        p->_base = p->_ptr = NULL;
                     27:        return(p);
                     28: }
                     29: 
                     30: FILE * fpipe(info)
                     31: FILE *info[2];
                     32: {
                     33:        register FILE *p;
                     34:        int descrips[2];
                     35: 
                     36:        if(0 > pipe(descrips)) return( (FILE *) -1);
                     37: 
                     38:        if(NULL==(p = _dofpip(descrips[0]))) return( (FILE *) -1);
                     39:        p->_flag = (_IONBF|_IOREAD);
                     40:        info[0] = p;
                     41: 
                     42:        if(NULL==(p = _dofpip(descrips[1]))) return( (FILE *) -1);
                     43:        p->_flag = _IOWRT;
                     44:        info[1] = p;
                     45:        return((FILE *) 2); /*indicate sucess*/
                     46: }

unix.superglobalmegacorp.com

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