{ -1, POLLIN, 0 },
{ -1, POLLIN, 0 }
};
- size_t bufpos = 0;
- size_t buflen = iface->buffer_length;
+ ssize_t bufpos = 0;
+ ssize_t buflen = iface->buffer_length;
int bytes;
int s = 0;
struct timeval stopat;
ssize_t
send_packet(const struct interface *iface, int type,
- const unsigned char *data, size_t len)
+ const unsigned char *data, ssize_t len)
{
struct iovec iov[2];
struct ether_header hw;
* So we pass the buffer in the API so we can loop on >1 dhcp packet. */
ssize_t
get_packet(const struct interface *iface, unsigned char *data,
- unsigned char *buffer, size_t *buffer_len, size_t *buffer_pos)
+ unsigned char *buffer, ssize_t *buffer_len, ssize_t *buffer_pos)
{
union
{
struct udp_dhcp_packet *packet;
} pay;
struct timespec ts;
- size_t len;
+ ssize_t len;
unsigned char *payload;
bool have_data;
/* Update the buffer_pos pointer */
bpf.buffer += BPF_WORDALIGN(bpf.packet->bh_hdrlen +
bpf.packet->bh_caplen);
- if ((unsigned)(bpf.buffer - buffer) < *buffer_len)
+ if (bpf.buffer - buffer < *buffer_len)
*buffer_pos = bpf.buffer - buffer;
else
*buffer_pos = 0;
bool daemonised;
bool persistent;
unsigned char *buffer;
- size_t buffer_len;
- size_t buffer_pos;
+ ssize_t buffer_len;
+ ssize_t buffer_pos;
};
static pid_t
ssize_t
send_packet(const struct interface *iface, int type,
- const unsigned char *data, size_t len)
+ const unsigned char *data, ssize_t len)
{
union sockunion {
struct sockaddr sa;
* We only have the buffer listed to keep the same API. */
ssize_t
get_packet(const struct interface *iface, unsigned char *data,
- unsigned char *buffer, size_t *buffer_len, size_t *buffer_pos)
+ unsigned char *buffer, ssize_t *buffer_len, ssize_t *buffer_pos)
{
ssize_t bytes;
union
int open_socket(struct interface *, int);
ssize_t send_packet(const struct interface *, int,
- const unsigned char *, size_t);
+ const unsigned char *, ssize_t);
ssize_t get_packet(const struct interface *, unsigned char *,
- unsigned char *, size_t *, size_t *);
+ unsigned char *, ssize_t *, ssize_t *);
#endif