diff options
author | Daniel Borkmann <dborkman@redhat.com> | 2013-06-04 10:23:49 +0200 |
---|---|---|
committer | Daniel Borkmann <dborkman@redhat.com> | 2013-06-04 10:23:49 +0200 |
commit | 829456efb34ab796f7aa743fa7f37a5ecd8b3455 (patch) | |
tree | d7b8ad70c4f2615ce6ef912abd75af4a45b715de /xio.c | |
parent | 78a23a4d5ab27c8af26c0e232c099a0c16907649 (diff) |
xio: rename xio to ioops and reduce its includes
Rename xio to ioops (io-ops) and boil its include files down to a
minimum.
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Diffstat (limited to 'xio.c')
-rw-r--r-- | xio.c | 111 |
1 files changed, 0 insertions, 111 deletions
@@ -1,111 +0,0 @@ -/* - * netsniff-ng - the packet sniffing beast - * Copyright 2009, 2010 Daniel Borkmann. - * Subject to the GPL, version 2. - */ - -#define _GNU_SOURCE -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <string.h> -#include <errno.h> -#include <fcntl.h> -#include <signal.h> -#include <syslog.h> -#include <sys/types.h> -#include <sys/stat.h> -#include <sys/types.h> -#include <sys/ioctl.h> -#include <sys/socket.h> -#include <linux/if.h> -#include <linux/if_tun.h> - -#include "die.h" -#include "xio.h" -#include "str.h" -#include "xutils.h" - -int open_or_die(const char *file, int flags) -{ - int ret = open(file, flags); - if (ret < 0) - panic("Cannot open file %s! %s.\n", file, strerror(errno)); - - return ret; -} - -int open_or_die_m(const char *file, int flags, mode_t mode) -{ - int ret = open(file, flags, mode); - if (ret < 0) - panic("Cannot open or create file %s! %s.", file, strerror(errno)); - return ret; -} - -void create_or_die(const char *file, mode_t mode) -{ - int fd = open_or_die_m(file, O_WRONLY | O_CREAT, mode); - close(fd); -} - -void pipe_or_die(int pipefd[2], int flags) -{ - int ret = pipe2(pipefd, flags); - if (ret < 0) - panic("Cannot create pipe2 event fd! %s.\n", strerror(errno)); -} - -int tun_open_or_die(char *name, int type) -{ - int fd, ret; - short flags; - struct ifreq ifr; - - if (!name) - panic("No name provided for tundev!\n"); - - fd = open_or_die("/dev/net/tun", O_RDWR); - - memset(&ifr, 0, sizeof(ifr)); - ifr.ifr_flags = type; - strlcpy(ifr.ifr_name, name, IFNAMSIZ); - - ret = ioctl(fd, TUNSETIFF, &ifr); - if (ret < 0) - panic("ioctl screwed up! %s.\n", strerror(errno)); - - ret = fcntl(fd, F_SETFL, fcntl(fd, F_GETFL) | O_NONBLOCK); - if (ret < 0) - panic("fctnl screwed up! %s.\n", strerror(errno)); - - flags = device_get_flags(name); - flags |= IFF_UP | IFF_RUNNING; - device_set_flags(name, flags); - - return fd; -} - -ssize_t read_or_die(int fd, void *buf, size_t len) -{ - ssize_t ret = read(fd, buf, len); - if (ret < 0) { - if (errno == EPIPE) - die(); - panic("Cannot read from descriptor! %s.\n", strerror(errno)); - } - - return ret; -} - -ssize_t write_or_die(int fd, const void *buf, size_t len) -{ - ssize_t ret = write(fd, buf, len); - if (ret < 0) { - if (errno == EPIPE) - die(); - panic("Cannot write to descriptor! %s.", strerror(errno)); - } - - return ret; -} |