Annotation of 43BSD/contrib/emacs/src/process.h, revision 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.