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_ */