Return Type | Function name | Arguments |
---|---|---|
hzEcode | InitIpBasic | (void) |
Declared in file: hzIpaddr.h
Defined in file : hzIpaddr.cpp
Function Logic:
Function body:
hzEcode InitIpBasic (void) { _hzfunc(__func__) ; ifstream is ; FSTAT fs ; uint32_t* pRanges ; uint32_t* pLocations ; uint32_t n ; int32_t m_fd ; m_fd = shm_open("deltaIpBaseZone", O_RDONLY, 0); if (m_fd < 0) return hzerr(E_OPENFAIL, "Could not open deltaIpBaseZone") ; threadLog("Opened deltaIpBaseZone\n") ; fstat(m_fd, &fs); pRanges = (uint32_t*) mmap(0,fs.st_size, PROT_READ, MAP_SHARED, m_fd, 0); if (!pRanges) return hzerr(E_INITFAIL, "Could not map shared memory segment for deltaIpBaseZone. Errno %d\n", errno) ; threadLog("IP ranges size %u mem at %p\n", fs.st_size, pRanges) ; m_fd = shm_open("deltaIpBaseCode", O_RDONLY, 0); if (m_fd < 0) return hzerr(E_OPENFAIL, "Could not open deltaIpBaseCode") ; threadLog("Opened deltaIpBaseCode\n") ; fstat(m_fd, &fs); s_IpBasic_max = fs.st_size ; pLocations = (uint32_t*) mmap(0,fs.st_size, PROT_READ, MAP_SHARED, m_fd, 0); if (!pLocations) return hzerr(E_INITFAIL, "Shared memory address at %p errno is %d\n", pLocations, errno) ; threadLog("locations size %u mem at %p\n", fs.st_size, pLocations) ; s_IpBasic_zones = pRanges ; s_IpBasic_codes = (uchar*) pLocations ; for (n = 2; n < s_IpBasic_max ; n *= 2); s_IpBasic_div = n / 2; s_IpBasic_start = n - 1; threadLog("Total ranges %d (div %d start %d)\n\n", s_IpBasic_max, s_IpBasic_div, s_IpBasic_start) ; return E_OK ; }