Return Type | Function name | Arguments |
---|---|---|
hzEcode | InitIpCity | (void) |
Declared in file: hzIpaddr.h
Defined in file : hzIpaddr.cpp
Function Logic:
Function body:
hzEcode InitIpCity (void) { _hzfunc(__func__) ; ifstream is ; FSTAT fs ; uint32_t* pIpr ; uint32_t m_fd ; uint32_t n ; m_fd = shm_open("deltaIpCityText", O_RDONLY, 0); if (m_fd < 0) return hzerr(E_OPENFAIL, "Could not open deltaIpCityText") ; threadLog("Set fd to %d\n", m_fd) ; fstat(m_fd, &fs); s_IpCity_text = (char*) mmap(0,fs.st_size, PROT_READ, MAP_SHARED, m_fd, 0); if (!s_IpCity_text) return hzerr(E_INITFAIL, "Shared memory address at %p errno is %d\n", s_IpCity_text, errno) ; threadLog("text mem at %p\n", s_IpCity_text) ; m_fd = shm_open("deltaIpCityZone", O_RDONLY, 0); if (m_fd < 0) return hzerr(E_OPENFAIL, "Could not open deltaIpCityZone") ; threadLog("Set fd to %d\n", m_fd) ; fstat(m_fd, &fs); pIpr = (uint32_t*) mmap(0,fs.st_size, PROT_READ, MAP_SHARED, m_fd, 0); if (!pIpr) return hzerr(E_INITFAIL, "Shared memory address at %p errno is %d\n", pIpr, errno) ; threadLog("zone mem at %p\n", pIpr) ; s_IpCity_max = pIpr[0]; s_IpCity_zones = pIpr + 1; m_fd = shm_open("deltaIpCityLocn", O_RDONLY, 0); fstat(m_fd, &fs); threadLog("Set fd to %d\n", m_fd) ; s_IpCity_osets = (uint32_t*) mmap(0,fs.st_size, PROT_READ, MAP_SHARED, m_fd, 0); if (!s_IpCity_osets) return hzerr(E_INITFAIL, "Shared memory address at %p errno is %d\n", s_IpCity_osets, errno) ; threadLog("locn mem at %p\n", s_IpCity_osets) ; for (n = 2; n < s_IpCity_max ; n *= 2); s_IpCity_div = n / 2; s_IpCity_start = n - 1; threadLog("Have %d zones, div %d start %d\n", s_IpCity_max, s_IpCity_div, s_IpCity_start) ; return E_OK ; }