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/sock/ipaddr.h
2019-05-05 14:30:58 -05:00

29 lines
676 B
C

#ifndef GLV_SOCK_IPADDR_H
#define GLV_SOCK_IPADDR_H
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <ctype.h>
#include "util/etc.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);
char* glv_ip_ntoa(const ipaddr_t* addr);
char* glv_ipv6_ntoa(const ipaddr_t* addr);
#endif