mirror of
https://github.com/zeek/zeek.git
synced 2025-10-16 21:48:21 +00:00

The big hitters: Dict: Fills in four 4-byte holes in the structure. This shrinks Dictionary from 136 bytes to 114 bytes. Desc: Fills in a 6-byte hole in the structure. This shrinks ODesc from 152 bytes to 144 bytes. Frame: Moves and combines 4 bool variables from a few places into one single 4-byte block. This resolves all of the holes at once. This shrinks Frame from 216 bytes to 192 bytes and removes one cache line. Func: Moves one int32_t variable to fill in a 4-byte hole. This shrinks Func from 112 bytes to 104 bytes. ID: Moves two bool variables to fill in a 3-byte hole. This leaves behind a 1-byte hole, but removes a 6-byte pad from the end of the structure. This shrinks ID from 144 bytes to 136 bytes. Other changes: RuleHdrTest: Fills in one 4-byte hole in the structure. This shrinks RuleHdrTest from 248 bytes to 240 bytes. RuleEndpointState: Moves one bool variable down in the structure to reduce a 7-byte hole. This unfortunately causes a 3-byte hole later in the structure but there’s no easy way to filll it in. This does shrink RuleEndpointState from 128 bytes to 120 bytes though. ScannedFile: Moves two bool values to reduce a 4-byte hole by 2 bytes. This shrinks ScannedFile from 64 bytes to 56 bytes. Brofiler: Moves one char value to reduce a 4-byte hole by 1 byte. This shrinks Brofiler from 96 bytes to 88 bytes and removes one cache line. DbgBreakpoint: Moves some values around to fill in a 4-byte hole and reduce a second. A 2-byte hole still exists, but the structure shrinks from 632 bytes to 624 bytes. It’s possible on this one that one of the int32_t values could be an int16_t and remove the last 2-byte gap. ParseLocationRec: Moves one int to fill in a 4-byte hole. This shrinks ParseLocationRec from 32 bytes to 24 bytes. DebugCmdInfo: Moves one bool variable to shift a few others up. This results in a 6-byte pad at the end of the structure but removes a 7-byte hole in the middle. This shrinks DebugCmdInfo from 56 bytes to 48 bytes. FragReassembler: Moves one variable down to fill in a 4-byte hole. This shrinks FragReassembler from 272 bytes to 264 bytes. nb_dns_result: Moves ones uint32_t variable to fill in a 4-byte hole, also removing a 4-byte pad from the end of the structure. This shrinks nb_dns_result from 32 bytes to 24 bytes. nb_dns_entry: Moves one short value to fill in a 2-byte hole, also removing a 6-byte hole. This shrinks nb_dns_entry from 1064 bytes to 1056 bytes.
38 lines
979 B
C
38 lines
979 B
C
/*
|
|
* See the file "COPYING" in the main distribution directory for copyright.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
/* Private data */
|
|
struct nb_dns_info;
|
|
|
|
/* Public data */
|
|
struct nb_dns_result {
|
|
void *cookie;
|
|
int host_errno;
|
|
uint32_t ttl;
|
|
struct hostent *hostent;
|
|
};
|
|
|
|
typedef unsigned int nb_uint32_t;
|
|
|
|
/* Public routines */
|
|
struct nb_dns_info *nb_dns_init(char *);
|
|
struct nb_dns_info *nb_dns_init2(char *, struct sockaddr*);
|
|
void nb_dns_finish(struct nb_dns_info *);
|
|
|
|
int nb_dns_fd(struct nb_dns_info *);
|
|
|
|
int nb_dns_host_request(struct nb_dns_info *, const char *, void *, char *);
|
|
int nb_dns_host_request2(struct nb_dns_info *, const char *, int, int,
|
|
void *, char *);
|
|
|
|
int nb_dns_addr_request(struct nb_dns_info *, nb_uint32_t, void *, char *);
|
|
int nb_dns_addr_request2(struct nb_dns_info *, char *, int, void *, char *);
|
|
|
|
int nb_dns_abort_request(struct nb_dns_info *, void *);
|
|
|
|
int nb_dns_activity(struct nb_dns_info *, struct nb_dns_result *, char *);
|
|
|
|
#define NB_DNS_ERRSIZE 256
|