Previous: Window Internals, Up: Object Internals [Contents][Index]

#### E.8.3 Process Internals

The fields of a process (for a complete list, see the definition of `struct Lisp_Process` in `process.h`) include:

`name`

  A string, the name of the process.

`command`

  A list containing the command arguments that were used to start this process. For a network or serial process, it is `nil` if the process is running or `t` if the process is stopped.

`filter`

  A function used to accept output from the process.

`sentinel`

  A function called whenever the state of the process changes.

`buffer`

  The associated buffer of the process.

`pid`

  An integer, the operating system’s process ID. Pseudo-processes such as network or serial connections use a value of 0.

`childp`

  A flag, `t` if this is really a child process. For a network or serial connection, it is a plist based on the arguments to `make-network-process` or `make-serial-process`.

`mark`

  A marker indicating the position of the end of the last output from this process inserted into the buffer. This is often but not always the end of the buffer.

`kill_without_query`

  If this is non-zero, killing Emacs while this process is still running does not ask for confirmation about killing the process.

`raw_status`

  The raw process status, as returned by the `wait` system call.

`status`

  The process status, as `process-status` should return it.

`tick`
`update_tick`

  If these two fields are not equal, a change in the status of the process needs to be reported, either by running the sentinel or by inserting a message in the process buffer.

`pty_flag`

  Non-`nil` if communication with the subprocess uses a pty; `nil` if it uses a pipe.

`infd`

  The file descriptor for input from the process.

`outfd`

  The file descriptor for output to the process.

`tty_name`

  The name of the terminal that the subprocess is using, or `nil` if it is using pipes.

`decode_coding_system`

  Coding-system for decoding the input from this process.

`decoding_buf`

  A working buffer for decoding.

`decoding_carryover`

  Size of carryover in decoding.

`encode_coding_system`

  Coding-system for encoding the output to this process.

`encoding_buf`

  A working buffer for encoding.

`inherit_coding_system_flag`

  Flag to set `coding-system` of the process buffer from the coding system used to decode process output.

`type`

  Symbol indicating the type of process: `real`, `network`, `serial`.

Previous: Window Internals, Up: Object Internals [Contents][Index]