示例#1
0
文件: node.cpp 项目: Zhanyin/taomee
int get_node_ip()
{

    char node_ip_str[IP_STRING_LEN] = {0};

    if (0 != get_inside_ip(node_ip_str))
    {
        return -1;
    }


    uint32_t node_ip = ip2long(node_ip_str);

    int ret = -1;
    if (node_ip != g_node_ip)
    {
        ret = 0;
        g_node_ip = node_ip;
        STRNCPY(g_node_ip_str, node_ip_str, IP_STRING_LEN);
        DEBUG_LOG("node ip: %s, %u", g_node_ip_str, g_node_ip);

    }


    return ret;
}
示例#2
0
int main()
{
    char ip[] = "111.13.89.118";
    long val = ip2long(ip);
    printf("%ld\n", val);

    return 0;
}
示例#3
0
int main (void) {
	const char  * ip = "10.0.0.4";
	ulong         lip = 167772164UL;
	char        * rip;
	ulong         longip;
	int           ret = 0;

	if ( (longip = ip2long ((char *) ip)) == lip )
		printf (
			"PASS:    + ip2long (%s -> %lu)\n",
			ip,
			longip
		);
	else {
		printf (
			"FAIL:    + ip2long (%ip == %lu, but result is %lu)\n",
			ip,
			lip,
			longip
		);
		ret = 1;
	}

	if ( strcmp ((rip = long2ip (lip)), ip) == 0 )
		printf (
			"PASS:    + long2ip (%lu -> %s)\n",
			lip,
			rip
		);
	else {
		printf (
			"FAIL:    + long2ip (%lu == %s, but result is %s)\n",
			lip,
			ip,
			rip
		);
		ret = 1;
	}

	// thread safe api
	if ( strcmp ((long2ip_r (lip, rip)), ip) == 0 )
		printf (
			"PASS:    + long2ip_r (%lu -> %s)\n",
			lip,
			rip
		);
	else {
		printf (
			"FAIL:    + long2ip (%lu == %s, but result is %s)\n",
			lip,
			ip,
			rip
		);
		ret = 1;
	}

	return ret;
}
示例#4
0
文件: net.c 项目: Pinki18/lms
char *broadcast(const char *addr, const char *mask)
{
	unsigned long a, m;
	int bits;
	
	if(strlen(mask)<3) 
	{
		bits = 32 - atoi(mask);
		m = (~0 << bits) & 0xffffffff;
	}
	else
		m = ip2long(mask);
		
	a = ip2long(addr);
	

	return long2ip(a | (~ m));
}
示例#5
0
文件: net.c 项目: Pinki18/lms
tscript_value * tscript_ext_net_ip2long(tscript_value *arg)
{
	tscript_value *res;
	char *tmp;
	
	asprintf(&tmp, "%lu", ip2long(tscript_value_as_string(tscript_value_convert_to_string(arg))));
	res = tscript_value_create(TSCRIPT_TYPE_NUMBER, tmp);
	free(tmp);
	
	return res;
}
示例#6
0
/* {{{ 
 *  btree search string
 * */
PHP_METHOD(ip2region_class_entry_ptr, btreeSearchString)
{
	char *ip = NULL;
	int arg_len;
	datablock_entry  _block;
	uint_t (*func_ptr) (ip2region_t, uint_t, datablock_t);

	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s", &ip, &arg_len) == FAILURE) {
		return;
	}

	func_ptr = ip2region_btree_search;

	search(g_resource_ptr, func_ptr, ip2long(ip), &return_value, &_block);
}
示例#7
0
bool CFilter::filter(char* ip){
    
    long long ulip=ip2long(string(ip));
    //unsigned long ulip=inet_network(ip);

    vector<IPRange>::iterator it=ipVec.begin();
    for(;it!=ipVec.end();++it)
	if(ulip >= (*it).low && ulip <= (*it).high)
	    break;
    
    if(it==ipVec.end())
	return true;
    else
	return false;//is a utsz ip

}
示例#8
0
int geo_find(geo_ctx_t* geo_ctx, const char* ip, geo_result_t* result)
{
	uint32_t long_ip = ip2long(ip, strlen(ip));
	return geo_find2(geo_ctx, long_ip, result);
}
示例#9
0
文件: qqwry.c 项目: wallaceok/xip
int qqwry_get_location(char *addr1,char *addr2,const char *ip,FILE *qqwry_file) {
    return qqwry_get_location_by_long(addr1,addr2,ip2long(ip),qqwry_file);
}
示例#10
0
int main (int argc, char ** argv) {
	char 			ip[256] = { 0, };
	char			oip[256] = { 0, };
	char			err[1024];
	int				opt;
	bool			verbose = false;
	short			input;

#ifdef HAVE_GETOPT_LONG
	while ( (opt = getopt_long (argc, argv, "hv", long_options, (int *) 0)) != EOF ) {
#else
	while ( (opt = getopt (argc, argv, "hv")) != EOF ) {
#endif
		switch (opt) {
			case 'v' :
				verbose = true;
				break;
			default:
				usage (PNAME);
		}
	}

	if ( argc - optind < 1 || argc == 1 ) {
		usage (PNAME);
		return 1;
	}

	safecpy (ip, argv[optind], 256);
	input = (strchr (ip, '.') != NULL) ? IPv4 : LONGIP;

#ifdef _WIN32
	{
		WORD wVerReq = MAKEWORD (2, 2); // WinSock 2.2 요청
		WSADATA wsaData;
		int nErrStatus;

		if ( (nErrStatus = WSAStartup (wVerReq, &wsaData)) != 0 ) {
			fprintf (stderr, "ERROR: Failed initialize WSAStart\n");
			return 1;
		}
	}
#endif

	strcpy (oip, ip);
	if ( valid_ip_address (ip, err) ) {
		fprintf (stderr, "ERROR: %s -> %s\n", oip, err);
		IPCALC_WSACleanup;
		return 1;
	}

	if ( verbose )
		printf ("IPv4   : ");
	if ( verbose || input == LONGIP )
		printf ("%s\n", ip);

	if ( verbose )
		printf ("LONGIP : ");
	if ( verbose || input == IPv4 )
		printf ("%lu\n", ip2long (ip));

	IPCALC_WSACleanup;

	return 0;
}