1*c9945492SAndroid Build Coastguard Worker #include <sys/socket.h> 2*c9945492SAndroid Build Coastguard Worker #include <netinet/in.h> 3*c9945492SAndroid Build Coastguard Worker #include <arpa/inet.h> 4*c9945492SAndroid Build Coastguard Worker inet_network(const char * p)5*c9945492SAndroid Build Coastguard Workerin_addr_t inet_network(const char *p) 6*c9945492SAndroid Build Coastguard Worker { 7*c9945492SAndroid Build Coastguard Worker return ntohl(inet_addr(p)); 8*c9945492SAndroid Build Coastguard Worker } 9*c9945492SAndroid Build Coastguard Worker inet_makeaddr(in_addr_t n,in_addr_t h)10*c9945492SAndroid Build Coastguard Workerstruct in_addr inet_makeaddr(in_addr_t n, in_addr_t h) 11*c9945492SAndroid Build Coastguard Worker { 12*c9945492SAndroid Build Coastguard Worker if (n < 256) h |= n<<24; 13*c9945492SAndroid Build Coastguard Worker else if (n < 65536) h |= n<<16; 14*c9945492SAndroid Build Coastguard Worker else h |= n<<8; 15*c9945492SAndroid Build Coastguard Worker return (struct in_addr){ h }; 16*c9945492SAndroid Build Coastguard Worker } 17*c9945492SAndroid Build Coastguard Worker inet_lnaof(struct in_addr in)18*c9945492SAndroid Build Coastguard Workerin_addr_t inet_lnaof(struct in_addr in) 19*c9945492SAndroid Build Coastguard Worker { 20*c9945492SAndroid Build Coastguard Worker uint32_t h = in.s_addr; 21*c9945492SAndroid Build Coastguard Worker if (h>>24 < 128) return h & 0xffffff; 22*c9945492SAndroid Build Coastguard Worker if (h>>24 < 192) return h & 0xffff; 23*c9945492SAndroid Build Coastguard Worker return h & 0xff; 24*c9945492SAndroid Build Coastguard Worker } 25*c9945492SAndroid Build Coastguard Worker inet_netof(struct in_addr in)26*c9945492SAndroid Build Coastguard Workerin_addr_t inet_netof(struct in_addr in) 27*c9945492SAndroid Build Coastguard Worker { 28*c9945492SAndroid Build Coastguard Worker uint32_t h = in.s_addr; 29*c9945492SAndroid Build Coastguard Worker if (h>>24 < 128) return h >> 24; 30*c9945492SAndroid Build Coastguard Worker if (h>>24 < 192) return h >> 16; 31*c9945492SAndroid Build Coastguard Worker return h >> 8; 32*c9945492SAndroid Build Coastguard Worker } 33