This repository has been archived on 2021-07-03. You can view files and clone it, but cannot push or open issues or pull requests.
glovechat/src/server/util/ipaddr.h
2019-01-30 15:27:23 -06:00

27 lines
677 B
C

#ifndef GLV_UTIL_IPADDR_H
#define GLV_UTIL_IPADDR_H
#include "util/string.h"
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <ctype.h>
typedef struct {
uint16_t addr[8];
uint8_t cidr;
} ipaddr_t;
ipaddr_t glv_ip_aton(const char* addr);
ipaddr_t glv_ip_raw(const uint16_t* addr, uint8_t cidr);
int glv_ip_check(const char* addr);
int glv_ip_compare(const ipaddr_t* lhs, const ipaddr_t* rhs);
int glv_ip_identical(const ipaddr_t* lhs, const ipaddr_t* rhs);
int glv_ip_isv4(const ipaddr_t* addr);
int glv_ip_valid(const ipaddr_t* addr);
int glv_ip_ntoa(const ipaddr_t* addr, char* out);
int glv_ipv6_ntoa(const ipaddr_t* addr, char* out);
#endif