ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/gvpe/src/util.C
(Generate patch)

Comparing gvpe/src/util.C (file contents):
Revision 1.7 by pcg, Mon Apr 7 01:12:56 2003 UTC vs.
Revision 1.12 by pcg, Thu Jan 29 18:55:10 2004 UTC

1/* 1/*
2 util.C -- process management and other utility functions 2 util.C -- process management and other utility functions
3 Copyright (C) 2003 Marc Lehmann <pcg@goof.com>
3 4
4 Some of these are taken from tinc, see the AUTHORS file. 5 Some of these are taken from tinc, see the AUTHORS file.
5 6
6 This program is free software; you can redistribute it and/or modify 7 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by 8 it under the terms of the GNU General Public License as published by
19*/ 20*/
20 21
21#include "config.h" 22#include "config.h"
22 23
23#include <cstdio> 24#include <cstdio>
25#include <cstdlib>
24#include <cstring> 26#include <cstring>
25 27
26#include <errno.h> 28#include <errno.h>
27#include <signal.h> 29#include <signal.h>
28#include <sys/types.h> 30#include <sys/types.h>
29#include <sys/wait.h> 31#include <sys/wait.h>
30#include <unistd.h> 32#include <unistd.h>
31#include <time.h> 33#include <time.h>
32#include <sys/socket.h>
33#include <netinet/in.h>
34#include <arpa/inet.h>
35 34
36 35#include "netcompat.h"
37#include <sys/mman.h>
38 36
39#include "gettext.h" 37#include "gettext.h"
40#include "pidfile.h" 38#include "pidfile.h"
41#include "dropin.h" 39#include "dropin.h"
42 40
146 if ((pid = fork ()) == 0) 144 if ((pid = fork ()) == 0)
147 { 145 {
148 char *filename; 146 char *filename;
149 asprintf (&filename, "%s/%s", confbase, cb()); 147 asprintf (&filename, "%s/%s", confbase, cb());
150 execl (filename, filename, (char *) 0); 148 execl (filename, filename, (char *) 0);
151 exit (255); 149 exit (126);
152 } 150 }
153 else if (pid > 0) 151 else if (pid > 0)
154 { 152 {
155 if (wait) 153 if (wait)
156 { 154 {
206 204
207 return res; 205 return res;
208} 206}
209#endif 207#endif
210 208
209void
210id2mac (unsigned int id, void *m)
211{
212 mac &p = *(mac *)m;
213
214 if (id)
215 {
216 p[0] = 0xfe;
217 p[1] = 0xfd;
218 p[2] = 0x80;
219 p[3] = 0x00;
220 p[4] = id >> 8;
221 p[5] = id;
222 }
223 else
224 {
225 p[0] = 0xff;
226 p[1] = 0xff;
227 p[2] = 0xff;
228 p[3] = 0xff;
229 p[4] = 0xff;
230 p[5] = 0xff;
231 }
232}
233

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines