| Index: fusl/src/network/lookup.h
|
| diff --git a/fusl/src/network/lookup.h b/fusl/src/network/lookup.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..69419115b3f20ee37f80ffd2fa5a5f922c3f7e16
|
| --- /dev/null
|
| +++ b/fusl/src/network/lookup.h
|
| @@ -0,0 +1,28 @@
|
| +#ifndef LOOKUP_H
|
| +#define LOOKUP_H
|
| +
|
| +#include <stdint.h>
|
| +
|
| +struct address {
|
| + int family;
|
| + unsigned scopeid;
|
| + uint8_t addr[16];
|
| + int sortkey;
|
| +};
|
| +
|
| +struct service {
|
| + uint16_t port;
|
| + unsigned char proto, socktype;
|
| +};
|
| +
|
| +/* The limit of 48 results is a non-sharp bound on the number of addresses
|
| + * that can fit in one 512-byte DNS packet full of v4 results and a second
|
| + * packet full of v6 results. Due to headers, the actual limit is lower. */
|
| +#define MAXADDRS 48
|
| +#define MAXSERVS 2
|
| +
|
| +int __lookup_serv(struct service buf[static MAXSERVS], const char *name, int proto, int socktype, int flags);
|
| +int __lookup_name(struct address buf[static MAXADDRS], char canon[static 256], const char *name, int family, int flags);
|
| +int __lookup_ipliteral(struct address buf[static 1], const char *name, int family);
|
| +
|
| +#endif
|
|
|