Mercurial > hg > xemacs-beta
comparison src/procimpl.h @ 440:8de8e3f6228a r21-2-28
Import from CVS: tag r21-2-28
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:33:38 +0200 |
parents | 3ecd8885ac67 |
children | abe6d1db359e |
comparison
equal
deleted
inserted
replaced
439:357dd071b03c | 440:8de8e3f6228a |
---|---|
20 | 20 |
21 /* This file must be only included by the process implementation files: | 21 /* This file must be only included by the process implementation files: |
22 process-unix.c, process-msw.c etc. The Lisp_Process structure and other | 22 process-unix.c, process-msw.c etc. The Lisp_Process structure and other |
23 contents of this file is not exported to the rest of the world */ | 23 contents of this file is not exported to the rest of the world */ |
24 | 24 |
25 #ifndef _XEMACS_PROCIMPL_H_ | 25 #ifndef INCLUDED_procimpl_h_ |
26 #define _XEMACS_PROCIMPL_H_ | 26 #define INCLUDED_procimpl_h_ |
27 | |
28 struct Lisp_Process; | |
29 | 27 |
30 /* | 28 /* |
31 * Structure which keeps methods of the process implementation. | 29 * Structure which keeps methods of the process implementation. |
32 * There is only one object of this class exists in a particular | 30 * There is only one object of this class exists in a particular |
33 * XEmacs implementation. | 31 * XEmacs implementation. |
35 | 33 |
36 /* #### Comment me... */ | 34 /* #### Comment me... */ |
37 | 35 |
38 struct process_methods | 36 struct process_methods |
39 { | 37 { |
40 void (*mark_process_data) (struct Lisp_Process *proc); | 38 void (*mark_process_data) (Lisp_Process *proc); |
41 void (*print_process_data) (struct Lisp_Process *proc, | 39 void (*print_process_data) (Lisp_Process *proc, Lisp_Object printcharfun); |
42 Lisp_Object printcharfun); | 40 void (*finalize_process_data) (Lisp_Process *proc, int for_disksave); |
43 void (*finalize_process_data) (struct Lisp_Process *proc, int for_disksave); | 41 void (*alloc_process_data) (Lisp_Process *p); |
44 void (*alloc_process_data) (struct Lisp_Process *p); | 42 void (*init_process_io_handles) (Lisp_Process *p, |
45 void (*init_process_io_handles) (struct Lisp_Process *p, | |
46 void* in, void* out, int flags); | 43 void* in, void* out, int flags); |
47 int (*create_process) (struct Lisp_Process *p, | 44 int (*create_process) (Lisp_Process *p, |
48 Lisp_Object *argv, int nargv, | 45 Lisp_Object *argv, int nargv, |
49 Lisp_Object program, Lisp_Object cur_dir); | 46 Lisp_Object program, Lisp_Object cur_dir); |
50 int (*tooltalk_connection_p) (struct Lisp_Process *p); | 47 int (*tooltalk_connection_p) (Lisp_Process *p); |
51 #ifdef HAVE_SOCKETS | 48 #ifdef HAVE_SOCKETS |
52 void (*open_network_stream) (Lisp_Object name, Lisp_Object host, | 49 void (*open_network_stream) (Lisp_Object name, Lisp_Object host, |
53 Lisp_Object service, Lisp_Object protocol, | 50 Lisp_Object service, Lisp_Object protocol, |
54 void** vinfd, void** voutfd); | 51 void** vinfd, void** voutfd); |
55 #ifdef HAVE_MULTICAST | 52 #ifdef HAVE_MULTICAST |
57 Lisp_Object port, Lisp_Object ttl, | 54 Lisp_Object port, Lisp_Object ttl, |
58 void** vinfd, void** voutfd); | 55 void** vinfd, void** voutfd); |
59 #endif /* HAVE_MULTICAST */ | 56 #endif /* HAVE_MULTICAST */ |
60 #endif /* HAVE_SOCKETS */ | 57 #endif /* HAVE_SOCKETS */ |
61 Lisp_Object (*canonicalize_host_name) (Lisp_Object host); | 58 Lisp_Object (*canonicalize_host_name) (Lisp_Object host); |
62 int (*set_window_size) (struct Lisp_Process* p, int height, int width); | 59 int (*set_window_size) (Lisp_Process* p, int height, int width); |
63 void (*send_process) (Lisp_Object proc, struct lstream* lstream); | 60 void (*send_process) (Lisp_Object proc, struct lstream* lstream); |
64 void (*reap_exited_processes) (void); | 61 void (*reap_exited_processes) (void); |
65 void (*update_status_if_terminated) (struct Lisp_Process* p); | 62 void (*update_status_if_terminated) (Lisp_Process* p); |
66 void (*kill_child_process) (Lisp_Object proc, int signo, | 63 void (*kill_child_process) (Lisp_Object proc, int signo, |
67 int current_group, int nomsg); | 64 int current_group, int nomsg); |
68 int (*kill_process_by_pid) (int pid, int sigcode); | 65 int (*kill_process_by_pid) (int pid, int sigcode); |
69 int (*process_send_eof) (Lisp_Object proc); | 66 int (*process_send_eof) (Lisp_Object proc); |
70 Lisp_Object (*get_tty_name) (struct Lisp_Process *p); | 67 Lisp_Object (*get_tty_name) (Lisp_Process *p); |
71 USID (*deactivate_process) (struct Lisp_Process *p); | 68 USID (*deactivate_process) (Lisp_Process *p); |
72 void (*init_process) (void); | 69 void (*init_process) (void); |
73 }; | 70 }; |
74 | 71 |
75 extern struct process_methods the_process_methods; | 72 extern struct process_methods the_process_methods; |
76 | 73 |
175 #ifdef PROCESS_IO_BLOCKING | 172 #ifdef PROCESS_IO_BLOCKING |
176 extern Lisp_Object network_stream_blocking_port_list; | 173 extern Lisp_Object network_stream_blocking_port_list; |
177 #endif /* PROCESS_IO_BLOCKING */ | 174 #endif /* PROCESS_IO_BLOCKING */ |
178 | 175 |
179 Lisp_Object make_process_internal (Lisp_Object name); | 176 Lisp_Object make_process_internal (Lisp_Object name); |
180 void init_process_io_handles (struct Lisp_Process *p, void* in, | 177 void init_process_io_handles (Lisp_Process *p, void* in, |
181 void* out, int flags); | 178 void* out, int flags); |
182 void send_process (Lisp_Object proc, | 179 void send_process (Lisp_Object proc, |
183 Lisp_Object relocatable, | 180 Lisp_Object relocatable, |
184 CONST Bufbyte *nonrelocatable, | 181 CONST Bufbyte *nonrelocatable, |
185 int start, int len); | 182 int start, int len); |
186 | 183 |
187 #endif /* _XEMACS_PROCIMPL_H_ */ | 184 #endif /* INCLUDED_procimpl_h_ */ |