Lines Matching defs:binding
52 int IsExpire(AddressBinding *binding)
54 if (!binding) {
55 DHCP_LOGE("binding is null.");
58 uint64_t leaseTime = binding->leaseTime;
62 uint64_t expireIn = binding->expireIn;
63 if (binding->bindingStatus == BIND_PENDING) {
64 expireIn = binding->pendingTime + leaseTime;
65 } else if (binding->bindingStatus == BIND_ASSOCIATED) {
66 expireIn = binding->bindingTime + leaseTime;
70 binding->bindingStatus = BIND_EXPIRED;
88 int WriteAddressBinding(const AddressBinding *binding, char *out, uint32_t size)
90 if (!binding || !out) {
93 const char *mac = ParseStrMac(binding->chaddr, sizeof(binding->chaddr));
94 const char *ip = ParseStrIp(binding->ipAddress);
98 if (snprintf_s(out, size, size - 1, "%s %s %llu %llu %llu %llu %d %d %s", mac, ip, binding->leaseTime,
99 binding->bindingTime, binding->pendingTime, binding->pendingInterval, binding->bindingMode,
100 binding->bindingStatus, binding->deviceName) < 0) {
169 int ParseAddressBinding(AddressBinding *binding, const char *buf)
185 ParseMacAddress(strs[BINDING_MAC_ADDR_POS], binding->chaddr);
186 binding->ipAddress = ParseIpAddr(strs[BINDING_IP_ADDR_POS]);
187 binding->leaseTime = atol(strs[BINDING_LEASE_TIME_POS]);
188 binding->bindingTime = atol(strs[BINDING_BINDING_TIME_POS]);
189 binding->pendingTime = atol(strs[BINDING_PENDING_TIME_POS]);
190 if (binding->bindingTime && binding->bindingTime < binding->pendingTime) {
193 if (binding->pendingTime > curr) { /* if pending time over than current system time */
194 binding->bindingTime = binding->bindingTime - binding->pendingTime + curr;
195 binding->pendingTime = curr;
197 binding->pendingInterval = atol(strs[BINDING_PENDING_INTERVAL_POS]);
198 binding->bindingMode = atoi(strs[BINDING_BINDING_MODE_POS]);
199 binding->bindingStatus = atoi(strs[BINDING_BINDING_STATUS_POS]);
200 if (binding->bindingStatus == BIND_ASSOCIATED) {
201 binding->expireIn = binding->bindingTime + binding->leaseTime;
204 ParseHostName(strs[BINDING_DEVICE_NAME_POS], binding->deviceName);
205 DHCP_LOGI("ParseHostName deviceName:%{public}s", binding->deviceName);