ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/win_netproc.c
Revision: 2.2
Committed: Fri Mar 26 21:36:20 2004 UTC (20 years, 1 month ago) by schorsch
Content type: text/plain
Branch: MAIN
Changes since 2.1: +7 -8 lines
Log Message:
Continued ANSIfication.

File Contents

# User Rev Content
1 schorsch 2.1 #ifndef lint
2 schorsch 2.2 static const char RCSid[] = "$Id: win_netproc.c,v 2.1 2003/10/27 10:32:06 schorsch Exp $";
3 schorsch 2.1 #endif
4    
5     /*
6     * Skeleton netproc for WIN32
7     */
8    
9     /*
10     #include <windows.h>
11     */
12     #include <direct.h>
13    
14     #include <stdlib.h>
15     #include <stdio.h>
16     #include <malloc.h>
17     #include <string.h>
18    
19     #include "rtprocess.h"
20     #include "netproc.h"
21     #include "paths.h"
22    
23     static int maxfd;
24     static char ourdir[PATH_MAX];
25     static char ourhost[64];
26     static char *ourshell;
27     static char ouruser[32];
28     PSERVER *pslist = NULL;
29    
30     PSERVER* addpserver(char* host, char* dir, char* usr, int np) {
31     PSERVER* ps;
32     if (np < 1)
33     return(NULL);
34     // For now
35     if(strcmp(host, LHOSTNAME))
36     return(NULL);
37     if((ps = (PSERVER *)malloc(sizeof(PSERVER)+(np-1)*sizeof(NETPROC))) == NULL)
38     return(NULL);
39     if (!ourhost[0]) {
40     char dirtmp[PATH_MAX];
41     register char *cp;
42     register int len;
43    
44     strcpy(ourhost, myhostname());
45     getcwd(dirtmp, sizeof(dirtmp));
46     if ((cp = getenv("HOME")) != NULL) {
47     if (!strcmp(cp, dirtmp))
48     ourdir[0] = '\0';
49     else if (!strncmp(cp, dirtmp, len=strlen(cp)) &&
50     dirtmp[len] == '/')
51     strcpy(ourdir, dirtmp+len+1);
52     else
53     strcpy(ourdir, dirtmp);
54     } else
55     strcpy(ourdir, dirtmp);
56     if ((cp = getenv("USER")) != NULL)
57     strcpy(ouruser, cp);
58     if ((ourshell = getenv("SHELL")) == NULL)
59     ourshell = "/bin/sh";
60     //FD_ZERO(&errdesc);
61     maxfd = -1;
62     }
63    
64     if (host == NULL || !strcmp(host, ourhost) ||
65     !strcmp(host, LHOSTNAME))
66     ps->hostname[0] = '\0';
67     else
68     strcpy(ps->hostname, host);
69     if (dir == NULL)
70     strcpy(ps->directory, ourdir);
71     else
72     strcpy(ps->directory, dir);
73     if (usr == NULL || !strcmp(usr, ouruser))
74     ps->username[0] = '\0';
75     else
76     strcpy(ps->username, usr);
77     ps->nprocs = np;
78     while (np--) {
79     ps->proc[np].com = NULL;
80     ps->proc[np].pid = -1;
81     ps->proc[np].efd = -1;
82     ps->proc[np].errs = NULL;
83     ps->proc[np].elen = 0;
84     ps->proc[np].cf = NULL;
85     }
86    
87     ps->next = pslist;
88     pslist = ps;
89    
90     if (!pserverOK(ps)) {
91     delpserver(ps);
92     return(NULL);
93     }
94     return(ps);
95     }
96    
97     void delpserver(PSERVER *ps)
98     {
99     return;
100     }
101    
102     PSERVER* findjob(int *pnp)
103     {
104     static PSERVER ps;
105     return &ps;
106     }
107    
108     int
109     kill(pid_t pid, int sig)
110     {
111     return 0;
112     }
113    
114 schorsch 2.2 int startjob(
115     PSERVER* pPS,
116     char* command,
117     pscompfunc *compf
118     )
119     {
120 schorsch 2.1 return 0;
121     }
122    
123     int wait4job(PSERVER* pPS, int pID) {
124     if(pID == -1)
125     return -1;
126     return 0;
127     }