ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/netproc.h
Revision: 2.6
Committed: Fri Jun 27 11:32:12 2003 UTC (20 years, 9 months ago) by schorsch
Content type: text/plain
Branch: MAIN
Changes since 2.5: +17 -3 lines
Log Message:
Instrumented headers against multiple inclusion and for use from C++.
Continued ANSIfication.

File Contents

# User Rev Content
1 schorsch 2.6 /* RCSid $Id: netproc.h,v 2.5 2003/06/27 06:53:23 greg Exp $ */
2 greg 2.1 /*
3     * Header file for network processing routines
4 greg 2.3 */
5 schorsch 2.6 #ifndef _RAD_NETPROC_H_
6     #define _RAD_NETPROC_H_
7     #ifdef __cplusplus
8     extern "C" {
9     #endif
10    
11 greg 2.1
12     typedef struct {
13     char *com; /* command (stored on client side) */
14     int pid; /* process ID */
15     int efd; /* standard error file descriptor */
16     char *errs; /* error output */
17     int elen; /* error output length */
18     int (*cf)(); /* completion callback function */
19     } PROC; /* process slot */
20    
21     /* Callback function cf above passed process server, slot number and status */
22    
23     typedef struct pserver {
24     struct pserver *next; /* next process server in main list */
25     char hostname[64]; /* remote host ID */
26     char directory[128]; /* remote execution directory */
27     char username[32]; /* remote user ID */
28     short nprocs; /* number of allocated process slots */
29     PROC proc[1]; /* process slot(s) (must be last in struct) */
30     } PSERVER; /* process server */
31    
32     extern PSERVER *pslist; /* global process server list */
33    
34 schorsch 2.6 extern PSERVER *addpserver(char *host, char *dir, char *usr, int np);
35     extern PSERVER *findjob(int *pnp);
36 greg 2.1
37 schorsch 2.6 extern char *myhostname(void);
38 greg 2.2
39 greg 2.1 #define LHOSTNAME "localhost" /* accepted name for local host */
40    
41     #define pserverOK(ps) (wait4job(ps, startjob(ps, "true", NULL)) == 0)
42 schorsch 2.6
43    
44     #ifdef __cplusplus
45     }
46     #endif
47     #endif /* _RAD_NETPROC_H_ */
48