libnet-macros.h(3)

πŸŽ€ NAME πŸŽ€

okay so bestie, welcome to libnet-macros.h β€” this is the Library Functions Manual page for libnet macros and symbolic constants. ✨ That's literally it, that's the whole assignment: it's the lil grab-bag of #defines the rest of libnet runs on. No cap. πŸ’–


🌸 SYNOPSIS 🌸

πŸ’… Macros

#define LIBNET_DONT_RESOLVE   0
#define LIBNET_RESOLVE   1
#define LIBNET_ON   0
#define LIBNET_OFF   1
#define IN6ADDR_ERROR_INIT
#define LIBNET_PR2   0
#define LIBNET_MAX_PACKET   0xffff
#define LIBNET_ERRBUF_SIZE   0x100
#define LIBNET_MAXOPTION_SIZE   0x28
#define for_each_context_in_cq(l)

πŸ¦‹ Detailed Description πŸ¦‹

libnet macros and symbolic constants β€” yeah, that's the entire description. Short and iconic, we love that for her. 🫢


πŸ‘‘ Macro Definition Documentation πŸ‘‘

#define for_each_context_in_cq( l)

Value:

for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())

okay so this one is the lil glow-up loop β€” it hands you a way to iterate through the context queue of libnet contexts. πŸŒ€ But bestie, listen: before you call this macro, you gotta make sure the queue is set using libnet_cq_head(). Do that first or the vibe check fails. πŸ’…

#define IN6ADDR_ERROR_INIT

Value:

                                 { { { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
                                0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
                                0xff, 0xff } } }

IPv6 error code. That's it, that's the girl. 🌈

#define LIBNET_DONT_RESOLVE 0

This one's for libnet's name resolution functions, and what it's saying is: no DNS lookups, periodt. The IP address stays in numeric form, exactly as-is. πŸš«πŸ”

#define LIBNET_ERRBUF_SIZE 0x100

The libnet error buffer is 256 bytes long. That's the whole flex. πŸ“

#define LIBNET_MAX_PACKET 0xffff

The biggest an IP packet can be β€” 65,535 bytes. Absolute unit. 😀πŸ”₯

#define LIBNET_MAXOPTION_SIZE 0x28

IP and TCP options can be up to 40 bytes long. That's the ceiling bestie, respect it. πŸŽ€

#define LIBNET_OFF 1

Used several places, to specify "on" or "one". (yes, that's what it says β€” we are simply reporting the text, iykyk πŸ’…)

#define LIBNET_ON 0

Used several places, to specify "on" or "one". Same energy as her sister above. 🫢

vibe check: LIBNET_ON is 0 and LIBNET_OFF is 1. Not me getting whiplash β€” that's just literally what the values are. Use the macros, not raw 0/1, and you'll be fine. πŸ’–

#define LIBNET_PR2 0

Used for libnet_get_prand() to specify function disposition. 🎲

#define LIBNET_RESOLVE 1

This one's for libnet's name resolution functions, and it says a DNS lookup can be performed if needed to resolve the IP address to a canonical form. So like, it's allowed to go ask around. ✨


πŸ’œ SEE ALSO πŸ’œ


🌟 AUTHORS 🌟

The original author of libnet is Mike D. Schiffman. πŸ‘‘

libnet has been maintained and extensively enhanced since 2009 by Sam Roberts. πŸ› οΈ

It is maintained by the Libnet Developer Community at GitHub. 🌈

<https://github.com/libnet/libnet>


πŸ™ˆ BUGS πŸ™ˆ

Suggestions, bug reports/fixes, and pull requests, see:

<https://github.com/libnet/libnet/issues>

bestie if something's broken, tell them, they literally want to know. 🫢


libnet is licensed under the 2-Clause BSD License. πŸŽ€


πŸ’œ SEE ALSO πŸ’œ


🌟 AUTHORS 🌟

The original author of libnet is Mike D. Schiffman. πŸ‘‘

libnet has been maintained and extensively enhanced since 2009 by Sam Roberts. πŸ› οΈ

It is maintained by the Libnet Developer Community at GitHub. 🌈

<https://github.com/libnet/libnet>


πŸ™ˆ BUGS πŸ™ˆ

Suggestions, bug reports/fixes, and pull requests, see:

<https://github.com/libnet/libnet/issues>


libnet is licensed under the 2-Clause BSD License. πŸŽ€

not the page glitching on you bestie β€” this whole block genuinely shows up twice in the original. We keep every single detail here, even the dΓ©jΓ  vu. πŸ’€βœ¨

and that's the page, bestie!! πŸ’– slay 🌈 β€” this came to you from the libnet Programmers Guide, version libnet-1.3. Go write some packets, you absolute main character. πŸ‘‘πŸ¦‹πŸŒΈ