GETSEGBYNAME(3)

πŸ“¦ version 1010.6, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to getsegbyname(3) from the Library Functions Manual πŸ’… this one is all about getting the segment command for the named segment β€” iconic behavior, honestly ✨

✨ SYNOPSIS ✨

#include <mach-o/getsect.h>

const struct segment_command *getsegbyname(const char *segname);

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the tea: this routine returns the segment_command structure for the named segment if it exists in the Mach-O (Mach object) executable that getsegbyname(3) is linked into. Slay. Otherwise, getsegbyname(3) returns NULL. No cap.

It uses the link editor defined symbol _mh_execute_header and just looks through the load commands. Since these are mapped into the __TEXT segment, they are read-only and thus const by default β€” very demure, very mindful πŸŽ€

bestie, heads up: if this is to be used in executables linked with -pie, then the value return by the call to _dyld_get_image_vmaddr_slide(0) will need to be added to the vmaddr field of the segment_command struct. don't forget, or it's giving bug energy 😭

🌈 SEE ALSO 🌈

Go give these icons a read: end(3), getsectbyname(3) 🫢


mwah πŸ’– β€” Apple, Inc., October 3, 2008, on the GETSEGBYNAME(3) page. bye bestie, go get that segment command! πŸŽ€

πŸ“¦ where this page comes from