static int vc_write_config_data(struct vpn_provider *provider, int fd) { const char *opt_s; int i; for (i = 0; i < (int)ARRAY_SIZE(vpnc_options); i++) { opt_s = vpn_provider_get_string(provider, vpnc_options[i].cm_opt); if (!opt_s) opt_s = vpnc_options[i].vpnc_default; if (!opt_s) continue; if (vpnc_options[i].type == OPT_STRING) { if (write_option(fd, vpnc_options[i].vpnc_opt, opt_s) < 0) return -EIO; } else if (vpnc_options[i].type == OPT_BOOLEAN) { if (write_bool_option(fd, vpnc_options[i].vpnc_opt, opt_s) < 0) return -EIO; } } return 0; }
void DHCPv6::write_serialization(uint8_t *buffer, uint32_t total_sz, const PDU *) { const uint32_t required_size = is_relay_message() ? 2 : 4; buffer = std::copy(header_data, header_data + required_size, buffer); if(is_relay_message()) { buffer = link_addr.copy(buffer); buffer = peer_addr.copy(buffer); } for(options_type::const_iterator it = options_.begin(); it != options_.end(); ++it) buffer = write_option(*it, buffer); }
int coap_split_query(const unsigned char *s, size_t length, unsigned char *buf, size_t *buflen) { struct cnt_str tmp = { { *buflen, buf }, 0 }; const unsigned char *p; p = s; while (length > 0 && *s != '#') { if (*s == '&') { /* start new query element */ write_option((unsigned char *)p, s - p, &tmp); p = s + 1; } s++; length--; } /* write last query element */ write_option((unsigned char *)p, s - p, &tmp); *buflen = *buflen - tmp.buf.length; return tmp.n; }
static void dump_device_config(struct netdev *dev) { char fn[40]; FILE *f; snprintf(fn, sizeof(fn), "/tmp/net-%s.conf", dev->name); f = fopen(fn, "w"); if (f) { write_option(f, "DEVICE", dev->name); write_option(f, "IPV4ADDR", my_inet_ntoa(dev->ip_addr)); write_option(f, "IPV4BROADCAST", my_inet_ntoa(dev->ip_broadcast)); write_option(f, "IPV4NETMASK", my_inet_ntoa(dev->ip_netmask)); write_option(f, "IPV4GATEWAY", my_inet_ntoa(dev->ip_gateway)); write_option(f, "IPV4DNS0", my_inet_ntoa(dev->ip_nameserver[0])); write_option(f, "IPV4DNS1", my_inet_ntoa(dev->ip_nameserver[1])); write_option(f, "HOSTNAME", dev->hostname); write_option(f, "DNSDOMAIN", dev->dnsdomainname); write_option(f, "NISDOMAIN", dev->nisdomainname); write_option(f, "ROOTSERVER", my_inet_ntoa(dev->ip_server)); write_option(f, "ROOTPATH", dev->bootpath); write_option(f, "filename", dev->filename); fclose(f); } }