annotate src/process.h @ 97366:d2c211c8ceda

(w32_list_system_processes, w32_system_process_attributes): Add prototypes. (Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname) (Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime, Qcutime) (Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs, Quser, Qgroup) (Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime): Add extern declarations.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 09 Aug 2008 17:53:30 +0000
parents c3512b2085a0
children dcc7f5970d5c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
1 /* Definitions for asynchronous process control in GNU Emacs.
75227
e90d04cd455a Update copyright for years from Emacs 21 to present (mainly adding
Glenn Morris <rgm@gnu.org>
parents: 72726
diff changeset
2 Copyright (C) 1985, 1994, 2001, 2002, 2003, 2004,
79759
fc2bcd2a8aad Add 2008 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 78501
diff changeset
3 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
4
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
5 This file is part of GNU Emacs.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
6
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93201
diff changeset
7 GNU Emacs is free software: you can redistribute it and/or modify
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
8 it under the terms of the GNU General Public License as published by
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93201
diff changeset
9 the Free Software Foundation, either version 3 of the License, or
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93201
diff changeset
10 (at your option) any later version.
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
11
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
12 GNU Emacs is distributed in the hope that it will be useful,
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
15 GNU General Public License for more details.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
16
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
94994
29adfc9354e7 Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 93201
diff changeset
18 along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
19
70209
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
20 #ifdef HAVE_SYS_TYPES_H
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
21 #include <sys/types.h>
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
22 #endif
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
23 #ifdef HAVE_UNISTD_H
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
24 #include <unistd.h>
7077caf6dc5a Include headers for pid_t.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 69873
diff changeset
25 #endif
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
26
21849
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
27 /* This structure records information about a subprocess
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
28 or network connection.
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
29
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
30 Every field in this structure except for the first two
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
31 must be a Lisp_Object, for GC's sake. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
32
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
33 struct Lisp_Process
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
34 {
85022
96eb42c9e0e3 * window.h (struct window):
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 82365
diff changeset
35 EMACS_UINT size;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
36 struct Lisp_Vector *v_next;
8888
84527c2d9f75 (struct process): New field tty_name.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
37 /* Name of subprocess terminal. */
84527c2d9f75 (struct process): New field tty_name.
Richard M. Stallman <rms@gnu.org>
parents: 7307
diff changeset
38 Lisp_Object tty_name;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
39 /* Name of this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
40 Lisp_Object name;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
41 /* List of command arguments that this process was run with.
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
42 Is set to t for a stopped network process; nil otherwise. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
43 Lisp_Object command;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
44 /* (funcall FILTER PROC STRING) (if FILTER is non-nil)
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
45 to dispose of a bunch of chars from the process all at once */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
46 Lisp_Object filter;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
47 /* (funcall SENTINEL PROCESS) when process state changes */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
48 Lisp_Object sentinel;
43967
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
49 /* (funcall LOG SERVER CLIENT MESSAGE) when a server process
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
50 accepts a connection from a client. */
7e0389460d9d (struct Lisp_Process): New member log.
Kim F. Storm <storm@cua.dk>
parents: 39935
diff changeset
51 Lisp_Object log;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
52 /* Buffer that output is going to */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
53 Lisp_Object buffer;
95884
d6a4488883dc Daniel Engeler <engeler at gmail.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
54 /* t if this is a real child process. For a network or serial
d6a4488883dc Daniel Engeler <engeler at gmail.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
55 connection, it is a plist based on the arguments to
d6a4488883dc Daniel Engeler <engeler at gmail.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
56 make-network-process or make-serial-process. */
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
57 Lisp_Object childp;
49222
bfa7cad7b524 (struct Lisp_Process): New member plist replaces old
Kim F. Storm <storm@cua.dk>
parents: 49163
diff changeset
58 /* Plist for programs to keep per-process state information, parameters, etc. */
bfa7cad7b524 (struct Lisp_Process): New member plist replaces old
Kim F. Storm <storm@cua.dk>
parents: 49163
diff changeset
59 Lisp_Object plist;
95884
d6a4488883dc Daniel Engeler <engeler at gmail.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
60 /* Symbol indicating the type of process: real, network, serial */
d6a4488883dc Daniel Engeler <engeler at gmail.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
61 Lisp_Object type;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
62 /* Marker set to end of last buffer-inserted output from this process */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
63 Lisp_Object mark;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
64 /* Symbol indicating status of process.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
65 This may be a symbol: run, open, or closed.
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
66 Or it may be a list, whose car is stop, exit or signal
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
67 and whose cdr is a pair (EXIT_CODE . COREDUMP_FLAG)
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
68 or (SIGNAL_NUMBER . COREDUMP_FLAG). */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
69 Lisp_Object status;
17042
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
70 /* Coding-system for decoding the input from this process. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
71 Lisp_Object decode_coding_system;
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
72 /* Working buffer for decoding. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
73 Lisp_Object decoding_buf;
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
74 /* Coding-system for encoding the output to this process. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
75 Lisp_Object encode_coding_system;
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
76 /* Working buffer for encoding. */
00b923d54108 (struct Lisp_Process): New members
Karl Heuer <kwzh@gnu.org>
parents: 16059
diff changeset
77 Lisp_Object encoding_buf;
69873
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
78
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
79 /* After this point, there are no Lisp_Objects any more. */
81826
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
80 /* alloc.c assumes that `pid' is the first such non-Lisp slot. */
69873
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
81
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
82 /* Number of this process.
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
83 allocate_process assumes this is the first non-Lisp_Object field.
95884
d6a4488883dc Daniel Engeler <engeler at gmail.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
84 A value 0 is used for pseudo-processes such as network or serial
d6a4488883dc Daniel Engeler <engeler at gmail.com>
Glenn Morris <rgm@gnu.org>
parents: 94994
diff changeset
85 connections. */
69873
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
86 pid_t pid;
81826
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
87 /* Descriptor by which we read from this process */
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
88 int infd;
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
89 /* Descriptor by which we write to this process */
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
90 int outfd;
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
91 /* Event-count of last event in which this process changed status. */
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
92 int tick;
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
93 /* Event-count of last such event reported. */
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
94 int update_tick;
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
95 /* Size of carryover in decoding. */
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
96 int decoding_carryover;
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
97 /* Hysteresis to try to read process output in larger blocks.
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
98 On some systems, e.g. GNU/Linux, Emacs is seen as
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
99 an interactive app also when reading process output, meaning
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
100 that process output can be read in as little as 1 byte at a
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
101 time. Value is micro-seconds to delay reading output from
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
102 this process. Range is 0 .. 50000. */
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
103 int read_output_delay;
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
104 /* Should we delay reading output from this process.
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
105 Initialized from `Vprocess_adaptive_read_buffering'.
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
106 0 = nil, 1 = t, 2 = other. */
92619
6c9be1557979 (struct Lisp_Process): Declare bit fields as unsigned.
Andreas Schwab <schwab@suse.de>
parents: 87649
diff changeset
107 unsigned int adaptive_read_buffering : 2;
81826
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
108 /* Skip reading this process on next read. */
92619
6c9be1557979 (struct Lisp_Process): Declare bit fields as unsigned.
Andreas Schwab <schwab@suse.de>
parents: 87649
diff changeset
109 unsigned int read_output_skip : 1;
81826
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
110 /* Non-nil means kill silently if Emacs is exited.
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
111 This is the inverse of the `query-on-exit' flag. */
92619
6c9be1557979 (struct Lisp_Process): Declare bit fields as unsigned.
Andreas Schwab <schwab@suse.de>
parents: 87649
diff changeset
112 unsigned int kill_without_query : 1;
81826
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
113 /* Non-nil if communicating through a pty. */
92619
6c9be1557979 (struct Lisp_Process): Declare bit fields as unsigned.
Andreas Schwab <schwab@suse.de>
parents: 87649
diff changeset
114 unsigned int pty_flag : 1;
81826
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
115 /* Flag to set coding-system of the process buffer from the
077a1e6fd3f2 (struct Lisp_Process): Turn slots infd, outfd, kill_without_query, pty_flag,
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 75227
diff changeset
116 coding_system used to decode process output. */
92619
6c9be1557979 (struct Lisp_Process): Declare bit fields as unsigned.
Andreas Schwab <schwab@suse.de>
parents: 87649
diff changeset
117 unsigned int inherit_coding_system_flag : 1;
69873
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
118 /* Record the process status in the raw form in which it comes from `wait'.
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
119 This is to avoid consing in a signal handler. The `raw_status_new'
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
120 flag indicates that `raw_status' contains a new status that still
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
121 needs to be synced to `status'. */
92619
6c9be1557979 (struct Lisp_Process): Declare bit fields as unsigned.
Andreas Schwab <schwab@suse.de>
parents: 87649
diff changeset
122 unsigned int raw_status_new : 1;
69873
2d844bbbccd4 * process.h (struct Lisp_Process): Replace Lisp_Objects `pid',
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 68651
diff changeset
123 int raw_status;
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
124 };
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
125
21849
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
126 /* Every field in the preceding structure except for the first two
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
127 must be a Lisp_Object, for GC's sake. */
96fd475a324d (struct process): Make inherit_coding_system_flag a Lisp_Object.
Richard M. Stallman <rms@gnu.org>
parents: 21657
diff changeset
128
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
129 #define ChannelMask(n) (1<<(n))
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
130
6165
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
131 /* Indexed by descriptor, gives the process (if any) for that descriptor. */
6191
84fc456177e2 (chan_process): Don't specify size.
Karl Heuer <kwzh@gnu.org>
parents: 6165
diff changeset
132 extern Lisp_Object chan_process[];
6165
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
133
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
134 /* Alist of elements (NAME . PROCESS). */
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
135 extern Lisp_Object Vprocess_alist;
9c0cc4128da8 (chan_process, Vprocess_alist): Declared.
Richard M. Stallman <rms@gnu.org>
parents: 2432
diff changeset
136
78501
1677cf1c2509 Replace `iff' in comments.
Glenn Morris <rgm@gnu.org>
parents: 78260
diff changeset
137 /* True if we are about to fork off a synchronous process or if we
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
138 are waiting for it. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
139 extern int synch_process_alive;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
140
14036
621a575db6f7 Comment fixes.
Karl Heuer <kwzh@gnu.org>
parents: 12244
diff changeset
141 /* Communicate exit status of sync process to from sigchld_handler
546
c10a468c6203 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 365
diff changeset
142 to Fcall_process. */
c10a468c6203 entered into RCS
Jim Blandy <jimb@redhat.com>
parents: 365
diff changeset
143
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
144 /* Nonzero => this is a string explaining death of synchronous subprocess. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
145 extern char *synch_process_death;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
146
53714
77ad9650fc55 synch_process_termsig new variable.
Jan Dj?rv <jan.h.d@swipnet.se>
parents: 53471
diff changeset
147 /* Nonzero => this is the signal number that terminated the subprocess. */
53726
f37373c2902a * process.h: Add extern to synch_process_termsig.
Jan Dj?rv <jan.h.d@swipnet.se>
parents: 53714
diff changeset
148 extern int synch_process_termsig;
53714
77ad9650fc55 synch_process_termsig new variable.
Jan Dj?rv <jan.h.d@swipnet.se>
parents: 53471
diff changeset
149
365
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
150 /* If synch_process_death is zero,
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
151 this is exit code of synchronous subprocess. */
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
152 extern int synch_process_retcode;
cba0546ba47c Initial revision
Jim Blandy <jimb@redhat.com>
parents:
diff changeset
153
2432
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
154 /* The name of the file open to get a null file, or a data sink.
97142
c3512b2085a0 * bitmaps/README:
Dan Nicolaescu <dann@ics.uci.edu>
parents: 95884
diff changeset
155 MS-DOS, and OS/2 redefine this. */
2432
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
156 #ifndef NULL_DEVICE
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
157 #define NULL_DEVICE "/dev/null"
17a84e60603b New macros NULL_DEVICE and EXEC_SUFFIXES, to give the name of the
Jim Blandy <jimb@redhat.com>
parents: 546
diff changeset
158 #endif
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
159
72726
c7ba95ddeb1d (inhibit_sentinels): Add decl.
Richard M. Stallman <rms@gnu.org>
parents: 70209
diff changeset
160 /* Nonzero means don't run process sentinels. This is used
c7ba95ddeb1d (inhibit_sentinels): Add decl.
Richard M. Stallman <rms@gnu.org>
parents: 70209
diff changeset
161 when exiting. */
c7ba95ddeb1d (inhibit_sentinels): Add decl.
Richard M. Stallman <rms@gnu.org>
parents: 70209
diff changeset
162 extern int inhibit_sentinels;
c7ba95ddeb1d (inhibit_sentinels): Add decl.
Richard M. Stallman <rms@gnu.org>
parents: 70209
diff changeset
163
97366
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
164 extern Lisp_Object w32_list_system_processes P_ ((void));
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
165 extern Lisp_Object w32_system_process_attributes P_ ((Lisp_Object));
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
166
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
167 extern Lisp_Object Qeuid, Qegid, Qcomm, Qstate, Qppid, Qpgrp, Qsess, Qttname;
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
168 extern Lisp_Object Qminflt, Qmajflt, Qcminflt, Qcmajflt, Qutime, Qstime;
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
169 extern Lisp_Object Qcutime, Qpri, Qnice, Qthcount, Qstart, Qvsize, Qrss, Qargs;
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
170 extern Lisp_Object Quser, Qgroup, Qetime, Qpcpu, Qpmem, Qtpgid, Qcstime;
d2c211c8ceda (w32_list_system_processes, w32_system_process_attributes): Add prototypes.
Eli Zaretskii <eliz@gnu.org>
parents: 97142
diff changeset
171
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
172 /* arch-tag: dffedfc4-d7bc-4b58-a26f-c16155449c72
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49903
diff changeset
173 (do not change this comment) */