Mercurial > hg > xemacs-beta
comparison src/procimpl.h @ 412:697ef44129c6 r21-2-14
Import from CVS: tag r21-2-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 11:20:41 +0200 |
parents | 74fd4e045ea6 |
children | 11054d720c21 |
comparison
equal
deleted
inserted
replaced
411:12e008d41344 | 412:697ef44129c6 |
---|---|
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 INCLUDED_procimpl_h_ | 25 #ifndef _XEMACS_PROCIMPL_H_ |
26 #define INCLUDED_procimpl_h_ | 26 #define _XEMACS_PROCIMPL_H_ |
27 | |
28 struct Lisp_Process; | |
27 | 29 |
28 /* | 30 /* |
29 * Structure which keeps methods of the process implementation. | 31 * Structure which keeps methods of the process implementation. |
30 * There is only one object of this class exists in a particular | 32 * There is only one object of this class exists in a particular |
31 * XEmacs implementation. | 33 * XEmacs implementation. |
33 | 35 |
34 /* #### Comment me... */ | 36 /* #### Comment me... */ |
35 | 37 |
36 struct process_methods | 38 struct process_methods |
37 { | 39 { |
38 void (*mark_process_data) (Lisp_Process *proc); | 40 void (*mark_process_data) (struct Lisp_Process *proc, |
39 void (*print_process_data) (Lisp_Process *proc, Lisp_Object printcharfun); | 41 void (*markobj) (Lisp_Object)); |
40 void (*finalize_process_data) (Lisp_Process *proc, int for_disksave); | 42 void (*print_process_data) (struct Lisp_Process *proc, |
41 void (*alloc_process_data) (Lisp_Process *p); | 43 Lisp_Object printcharfun); |
42 void (*init_process_io_handles) (Lisp_Process *p, | 44 void (*finalize_process_data) (struct Lisp_Process *proc, int for_disksave); |
45 void (*alloc_process_data) (struct Lisp_Process *p); | |
46 void (*init_process_io_handles) (struct Lisp_Process *p, | |
43 void* in, void* out, int flags); | 47 void* in, void* out, int flags); |
44 int (*create_process) (Lisp_Process *p, | 48 int (*create_process) (struct Lisp_Process *p, |
45 Lisp_Object *argv, int nargv, | 49 Lisp_Object *argv, int nargv, |
46 Lisp_Object program, Lisp_Object cur_dir); | 50 Lisp_Object program, Lisp_Object cur_dir); |
47 int (*tooltalk_connection_p) (Lisp_Process *p); | 51 int (*tooltalk_connection_p) (struct Lisp_Process *p); |
48 #ifdef HAVE_SOCKETS | 52 #ifdef HAVE_SOCKETS |
49 void (*open_network_stream) (Lisp_Object name, Lisp_Object host, | 53 void (*open_network_stream) (Lisp_Object name, Lisp_Object host, |
50 Lisp_Object service, Lisp_Object protocol, | 54 Lisp_Object service, Lisp_Object family, |
51 void** vinfd, void** voutfd); | 55 void** vinfd, void** voutfd); |
52 #ifdef HAVE_MULTICAST | 56 #ifdef HAVE_MULTICAST |
53 void (*open_multicast_group) (Lisp_Object name, Lisp_Object dest, | 57 void (*open_multicast_group) (Lisp_Object name, Lisp_Object dest, |
54 Lisp_Object port, Lisp_Object ttl, | 58 Lisp_Object port, Lisp_Object ttl, |
55 void** vinfd, void** voutfd); | 59 void** vinfd, void** voutfd); |
56 #endif /* HAVE_MULTICAST */ | 60 #endif /* HAVE_MULTICAST */ |
57 #endif /* HAVE_SOCKETS */ | 61 #endif /* HAVE_SOCKETS */ |
58 Lisp_Object (*canonicalize_host_name) (Lisp_Object host); | 62 Lisp_Object (*canonicalize_host_name) (Lisp_Object host); |
59 int (*set_window_size) (Lisp_Process* p, int height, int width); | 63 int (*set_window_size) (struct Lisp_Process* p, int height, int width); |
60 void (*send_process) (Lisp_Object proc, struct lstream* lstream); | 64 void (*send_process) (Lisp_Object proc, struct lstream* lstream); |
61 void (*reap_exited_processes) (void); | 65 void (*reap_exited_processes) (void); |
62 void (*update_status_if_terminated) (Lisp_Process* p); | 66 void (*update_status_if_terminated) (struct Lisp_Process* p); |
63 void (*kill_child_process) (Lisp_Object proc, int signo, | 67 void (*kill_child_process) (Lisp_Object proc, int signo, |
64 int current_group, int nomsg); | 68 int current_group, int nomsg); |
65 int (*kill_process_by_pid) (int pid, int sigcode); | 69 int (*kill_process_by_pid) (int pid, int sigcode); |
66 int (*process_send_eof) (Lisp_Object proc); | 70 int (*process_send_eof) (Lisp_Object proc); |
67 Lisp_Object (*get_tty_name) (Lisp_Process *p); | 71 Lisp_Object (*get_tty_name) (struct Lisp_Process *p); |
68 USID (*deactivate_process) (Lisp_Process *p); | 72 USID (*deactivate_process) (struct Lisp_Process *p); |
69 void (*init_process) (void); | 73 void (*init_process) (void); |
70 }; | 74 }; |
71 | 75 |
72 extern struct process_methods the_process_methods; | 76 extern struct process_methods the_process_methods; |
73 | 77 |
153 #define DATA_OUTSTREAM(p) (p)->pipe_outstream | 157 #define DATA_OUTSTREAM(p) (p)->pipe_outstream |
154 #endif | 158 #endif |
155 | 159 |
156 /* Random externs from process.c */ | 160 /* Random externs from process.c */ |
157 extern Lisp_Object Qrun, Qstop, Qopen, Qclosed; | 161 extern Lisp_Object Qrun, Qstop, Qopen, Qclosed; |
158 extern Lisp_Object Qtcp, Qudp; | 162 extern Lisp_Object Qtcpip; |
159 extern Lisp_Object Vprocess_connection_type; | 163 extern Lisp_Object Vprocess_connection_type; |
160 extern Lisp_Object Vprocess_list; | 164 extern Lisp_Object Vprocess_list; |
161 | 165 |
162 extern struct hash_table *usid_to_process; | 166 extern struct hash_table *usid_to_process; |
163 | 167 |
172 #ifdef PROCESS_IO_BLOCKING | 176 #ifdef PROCESS_IO_BLOCKING |
173 extern Lisp_Object network_stream_blocking_port_list; | 177 extern Lisp_Object network_stream_blocking_port_list; |
174 #endif /* PROCESS_IO_BLOCKING */ | 178 #endif /* PROCESS_IO_BLOCKING */ |
175 | 179 |
176 Lisp_Object make_process_internal (Lisp_Object name); | 180 Lisp_Object make_process_internal (Lisp_Object name); |
177 void init_process_io_handles (Lisp_Process *p, void* in, | 181 void init_process_io_handles (struct Lisp_Process *p, void* in, |
178 void* out, int flags); | 182 void* out, int flags); |
179 void send_process (Lisp_Object proc, | 183 void send_process (Lisp_Object proc, |
180 Lisp_Object relocatable, | 184 Lisp_Object relocatable, |
181 const Bufbyte *nonrelocatable, | 185 CONST Bufbyte *nonrelocatable, |
182 int start, int len); | 186 int start, int len); |
183 | 187 |
184 #endif /* INCLUDED_procimpl_h_ */ | 188 #endif /* _XEMACS_PROCIMPL_H_ */ |