along with this program; if not, write to the Free Software\r
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.\r
\r
- $Id: device.c,v 1.1.2.1 2003/07/21 15:51:00 guus Exp $\r
+ $Id: device.c,v 1.1.2.2 2003/07/22 20:55:21 guus Exp $\r
*/\r
\r
#error "Device driver for MinGW environment not written yet!"\r
pid_t reader_pid;\r
int sp[2];\r
\r
-int setup_device(void)\r
+bool setup_device(void)\r
{\r
HKEY key, key2, adapterkey;\r
int i;\r
\r
if (RegOpenKeyEx (HKEY_LOCAL_MACHINE, (OSTYPE > 4 ? NETCARD_REG_KEY_2000 : NETCARD_REG_KEY), 0, KEY_READ, &key)) {\r
logger(LOG_ERR, _("Unable to read registry"));\r
- return -1;\r
+ return false;\r
}\r
\r
for (i = 0; ; i++) {\r
\r
if(RegOpenKeyEx (key, adapterid, 0, KEY_READ, &adapterkey)) {\r
logger(LOG_ERR, _("Unable to read registry"));\r
- return -1;\r
+ return false;\r
}\r
\r
len = sizeof(productname);\r
\r
if(!found) {\r
logger(LOG_ERR, _("No CIPE adapters found!"));\r
- return -1;\r
+ return false;\r
}\r
\r
/* Get adapter name */\r
\r
if(socketpair(AF_UNIX, SOCK_DGRAM, PF_UNIX, sp)) {\r
logger(LOG_DEBUG, _("System call `%s' failed: %s"), "socketpair", strerror(errno));\r
- return -1;\r
+ return false;\r
}\r
\r
reader_pid = fork();\r
\r
if(reader_pid == -1) {\r
logger(LOG_DEBUG, _("System call `%s' failed: %s"), "fork", strerror(errno));\r
- return -1;\r
+ return false;\r
}\r
\r
if(!reader_pid) {\r
\r
if(handle == INVALID_HANDLE_VALUE) {\r
logger(LOG_ERR, _("Could not open CIPE tap device for writing!"));\r
- return -1;\r
+ return false;\r
}\r
\r
device_fd = sp[0];\r
read(device_fd, &gelukt, 1);\r
if(gelukt != 1) {\r
logger(LOG_DEBUG, "Tap reader failed!");\r
- return -1;\r
+ return false;\r
}\r
\r
if(!get_config_string(lookup_config(config_tree, "Interface"), &iface))\r
\r
logger(LOG_INFO, _("%s is a %s"), device, device_info);\r
\r
- return 0;\r
+ return true;\r
}\r
\r
void close_device(void)\r
kill(reader_pid, SIGKILL);\r
}\r
\r
-int read_packet(vpn_packet_t *packet)\r
+bool read_packet(vpn_packet_t *packet)\r
{\r
int lenin;\r
\r
if((lenin = read(sp[0], packet->data, MTU)) <= 0) {\r
logger(LOG_ERR, _("Error while reading from %s %s: %s"), device_info,\r
device, strerror(errno));\r
- return -1;\r
+ return false;\r
}\r
\r
packet->len = lenin;\r
ifdebug(TRAFFIC) logger(LOG_DEBUG, _("Read packet of %d bytes from %s"), packet->len,\r
device_info);\r
\r
- return 0;\r
+ return true;\r
}\r
\r
-int write_packet(vpn_packet_t *packet)\r
+bool write_packet(vpn_packet_t *packet)\r
{\r
int lenout;\r
\r
\r
if(!WriteFile (handle, packet->data, packet->len, &lenout, NULL)) {\r
logger(LOG_ERR, "Error while writing to %s %s", device_info, device);\r
- return -1;\r
+ return false;\r
}\r
\r
device_total_out += packet->len;\r
\r
- return 0;\r
+ return true;\r
}\r
\r
void dump_device_stats(void)\r