Annotation of 43BSD/contrib/emacs/src/process.h, revision 1.1.1.1

1.1       root        1: /* Definitions for asynchronous process control in GNU Emacs.
                      2:    Copyright (C) 1985 Richard M. Stallman.
                      3: 
                      4: This file is part of GNU Emacs.
                      5: 
                      6: GNU Emacs is distributed in the hope that it will be useful,
                      7: but WITHOUT ANY WARRANTY.  No author or distributor
                      8: accepts responsibility to anyone for the consequences of using it
                      9: or for whether it serves any particular purpose or works at all,
                     10: unless he says so in writing.  Refer to the GNU Emacs General Public
                     11: License for full details.
                     12: 
                     13: Everyone is granted permission to copy, modify and redistribute
                     14: GNU Emacs, but only under the conditions described in the
                     15: GNU Emacs General Public License.   A copy of this license is
                     16: supposed to have been given to you along with GNU Emacs so you
                     17: can know your rights and responsibilities.  It should be in a
                     18: file named COPYING.  Among other things, the copyright notice
                     19: and this notice must be preserved on all copies.  */
                     20: 
                     21: 
                     22: /*
                     23:  * Structure records pertinent information about open channels.
                     24:  * There is one channel associated with each process.
                     25:  */
                     26: 
                     27: struct Lisp_Process
                     28:   {
                     29:     int size;
                     30:     struct Lisp_Vector *v_next;
                     31:     /* Descriptor by which we read from this process */
                     32:     Lisp_Object infd;
                     33:     /* Descriptor by which we write to this process */
                     34:     Lisp_Object outfd;
                     35:     /* Name of this process */
                     36:     Lisp_Object name;
                     37:     /* List of command arguments that this process was run with */
                     38:     Lisp_Object command;
                     39:     /* (funcall FILTER PROC STRING)  (if FILTER is non-nil)
                     40:        to dispose of a bunch of chars from the process all at once */
                     41:     Lisp_Object filter;
                     42:     /* (funcall SENTINEL PROCESS) when process state changes */
                     43:     Lisp_Object sentinel;
                     44:     /* Buffer that output is going to */
                     45:     Lisp_Object buffer;
                     46:     /* Number of this process */
                     47:     Lisp_Object pid;
                     48:     /* Non-nil if this is really a command channel */
                     49:     Lisp_Object command_channel_p;
                     50:     /* Non-nil if this is really a child process */
                     51:     Lisp_Object childp;
                     52:     /* The state of the process, expressed by flags
                     53:        (RUNNING, STOPPED, etc.)  */
                     54:     Lisp_Object flags;
                     55:     /* # of signal that the process got, that stopped it,
                     56:        or code it exited with.  */
                     57:     Lisp_Object reason;
                     58:     /* Marker set to end of last buffer-inserted output from this process */
                     59:     Lisp_Object mark;
                     60:     /* Non-nil means kill silently if Emacs is exited.  */
                     61:     Lisp_Object kill_without_query;
                     62: };
                     63: 
                     64: /* Process status, found in the flags component */
                     65: #define PROC_STATUS 3
                     66: 
                     67: /* Values of process status */
                     68: #define RUNNING        0       /* process is running */
                     69: #define STOPPED        1       /* process has stopped */
                     70: #define EXITED 2       /* process has exited */
                     71: #define SIGNALED 3     /* process was signalled */
                     72: 
                     73: /* Additional bits in the flags component */
                     74: #define CHANGED 4      /* This bit is set when state changes;
                     75:                           cleared when a change message has been given */
                     76: #define COREDUMPED 8   /* This bit is set if core was dumped */
                     77: 
                     78: 
                     79: #define ChannelMask(n) (1<<(n))

unix.superglobalmegacorp.com

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