Annotation of GNUtools/emacs/src/process.h, revision 1.1

1.1     ! root        1: /* Definitions for asynchronous process control in GNU Emacs.
        !             2:    Copyright (C) 1985, 1990 Free Software Foundation, Inc.
        !             3: 
        !             4: This file is part of GNU Emacs.
        !             5: 
        !             6: GNU Emacs is free software; you can redistribute it and/or modify
        !             7: it under the terms of the GNU General Public License as published by
        !             8: the Free Software Foundation; either version 1, or (at your option)
        !             9: any later version.
        !            10: 
        !            11: GNU Emacs is distributed in the hope that it will be useful,
        !            12: but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
        !            14: GNU General Public License for more details.
        !            15: 
        !            16: You should have received a copy of the GNU General Public License
        !            17: along with GNU Emacs; see the file COPYING.  If not, write to
        !            18: the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
        !            19: 
        !            20: 
        !            21: /*
        !            22:  * Structure records pertinent information about open channels.
        !            23:  * There is one channel associated with each process.
        !            24:  */
        !            25: 
        !            26: struct Lisp_Process
        !            27:   {
        !            28:     int size;
        !            29:     struct Lisp_Vector *v_next;
        !            30:     /* Descriptor by which we read from this process */
        !            31:     Lisp_Object infd;
        !            32:     /* Descriptor by which we write to this process */
        !            33:     Lisp_Object outfd;
        !            34:     /* Descriptor for the tty which this process is using.
        !            35:        nil if we didn't record it (on some systems, there's no need).  */
        !            36:     Lisp_Object subtty;
        !            37:     /* Name of this process */
        !            38:     Lisp_Object name;
        !            39:     /* List of command arguments that this process was run with */
        !            40:     Lisp_Object command;
        !            41:     /* (funcall FILTER PROC STRING)  (if FILTER is non-nil)
        !            42:        to dispose of a bunch of chars from the process all at once */
        !            43:     Lisp_Object filter;
        !            44:     /* (funcall SENTINEL PROCESS) when process state changes */
        !            45:     Lisp_Object sentinel;
        !            46:     /* Buffer that output is going to */
        !            47:     Lisp_Object buffer;
        !            48:     /* Number of this process */
        !            49:     Lisp_Object pid;
        !            50:     /* Non-nil if this is really a command channel */
        !            51:     Lisp_Object command_channel_p;
        !            52:     /* Non-nil if this is really a child process */
        !            53:     Lisp_Object childp;
        !            54:     /* Marker set to end of last buffer-inserted output from this process */
        !            55:     Lisp_Object mark;
        !            56:     /* Non-nil means kill silently if Emacs is exited.  */
        !            57:     Lisp_Object kill_without_query;
        !            58:     /* Record the process status in the raw form in which it comes from `wait'.
        !            59:        This is to avoid consing in a signal handler.  */
        !            60:     Lisp_Object raw_status_low;
        !            61:     Lisp_Object raw_status_high;
        !            62:     /* Symbol indicating status of process.
        !            63:        This may be a symbol: run, open, or closed.
        !            64:        Or it may be a list, whose car is stop, exit or signal
        !            65:        and whose cdr is a pair (EXIT_CODE . COREDUMP_FLAG)
        !            66:        or (SIGNAL_NUMBER . COREDUMP_FLAG).  */
        !            67:     Lisp_Object status;
        !            68:     /* Non-nil if communicating through a pty.  */
        !            69:     Lisp_Object pty_flag;
        !            70:     /* Event-count of last event in which this process changed status.  */
        !            71:     Lisp_Object tick;
        !            72:     /* Event-count of last such event reported.  */
        !            73:     Lisp_Object update_tick;
        !            74: };
        !            75: 
        !            76: #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.