int store_all() { if (env.cfg.write_snapshot) store_timestep(); if (env.cfg.write_acc) store_a(); if (env.cfg.write_rhoe) store_rhoe(); return 0; }
static DOHcode rdata(unsigned char *doh, size_t dohlen, unsigned short rdlength, unsigned short type, int index, struct dohentry *d) { /* RDATA - A (TYPE 1): 4 bytes - AAAA (TYPE 28): 16 bytes - NS (TYPE 2): N bytes */ DOHcode rc; switch(type) { case DNS_TYPE_A: if(rdlength != 4) return DOH_DNS_RDATA_LEN; rc = store_a(doh, index, d); if(rc) return rc; break; case DNS_TYPE_AAAA: if(rdlength != 16) return DOH_DNS_RDATA_LEN; rc = store_aaaa(doh, index, d); if(rc) return rc; break; case DNS_TYPE_CNAME: rc = store_cname(doh, dohlen, index, d); if(rc) return rc; break; default: /* unsupported type, just skip it */ break; } return DOH_OK; }