GENDERS_NODELIST_CREATE(3)
π GENDERS_NODELIST_CREATE π
okay bestie, welcome to libgenders(3) β the section of the manual where we talk about making lists, emptying lists, and yeeting lists into the void. no cap, this page is literally just the create / clear / destroy trio, times three. let's get into it π
β¨ NAME β¨
genders_nodelist_create, genders_nodelist_clear, genders_nodelist_destroy, genders_attrlist_create, genders_attrlist_clear, genders_attrlist_destroy, genders_vallist_create, genders_vallist_clear, genders_vallist_destroy β the list create, clear, and destroy routines. that's it, that's the whole job π
πΈ SYNOPSIS πΈ
#include <genders.h>
int genders_nodelist_create(genders_t handle, char ***nodelist);
int genders_nodelist_clear(genders_t handle, char **nodelist);
int genders_nodelist_destroy(genders_t handle, char **nodelist);
int genders_attrlist_create(genders_t handle, char ***attrlist);
int genders_attrlist_clear(genders_t handle, char **attrlist);
int genders_attrlist_destroy(genders_t handle, char **attrlist);
int genders_vallist_create(genders_t handle, char ***vallist);
int genders_vallist_clear(genders_t handle, char **vallist);
int genders_vallist_destroy(genders_t handle, char **vallist);
π¦ DESCRIPTION π¦
so. genders_nodelist_create(), genders_nodelist_clear(), genders_nodelist_destroy(), genders_attrlist_create(), genders_attrlist_clear(), genders_attrlist_destroy(), genders_vallist_create(), genders_vallist_clear(), and genders_vallist_destroy() are the ones you call when you want to create, clear, and destroy lists β and by "lists" we mean arrays of strings, bestie β for use with genders_getnodes(3), genders_getattr(3), and genders_getattr_all(3). they're a whole little friend group π€
genders_nodelist_create(), genders_attrlist_create(), and genders_vallist_create() creates a list with minimum size to store nodes, attributes, and attribute values respectively. (yes, the manpage says "creates", we're keeping it, it's iconic in its own way π) nodelist, attrlist, and vallist are respectively set to point to the created list. and the created lists are guaranteed to store all the node, attribute, and value information returned from genders_getnodes(3), genders_getattr(3), and genders_getattr_all(3). no overflow, no panic, we're safe β¨
genders_nodelist_clear(), genders_attrlist_clear(), and genders_vallist_clear() clear any information stored in the lists pointed to by nodelist, attrlist, and vallist respectively. important vibe check: they do not have be called after their respective create functions. they only have to be called after they are used in genders_getnodes(3), genders_getattr(3), and genders_getattr_all(3), and the programmer wishes to re-use the list. so like β reuse era only π«Ά
genders_nodelist_destroy(), genders_attrlist_destroy(), and genders_vallist_destroy() destroy the lists pointed to by nodelist, attrlist, and vallist respectively. bye girl, you served π
β οΈ plot twist: if no attributes or values are listed in the genders database, all of the attrlist and vallist functions will do nothing. and the pointer passed intogenders_attrlist_create()andgenders_vallist_create()will not be set. so don't go dereferencing it like it's fine, because it is not π©
π₯ RETURN VALUES π₯
on success, genders_nodelist_create(), genders_attrlist_create(), and genders_vallist_create() return the number of elements the created list can store. cute, informative, slay π
on success, genders_nodelist_clear(), genders_attrlist_clear(), genders_vallist_clear(), genders_nodelist_destroy(), genders_attrlist_destroy(), genders_vallist_destroy() return 0. (the manpage forgot a comma in that list, we are not fixing it, we are simply noticing it π)
on error, -1 is returned, and an error code is returned in handle. the error code can be retrieved via genders_errnum(3), and a description of the error code can be retrieved via genders_strerror(3). error codes are defined in genders.h. write that down π
π ERRORS π
GENDERS_ERR_NULLHANDLEβ thehandleparameter isNULL. the genders handle must be created withgenders_handle_create(3). bestie you can't text nobody with no phone πGENDERS_ERR_NOTLOADEDβgenders_load_data(3)has not been called to load genders data. before lists of appropriate size can be created, the genders file must be read and parsed. you gotta read the lore first, fr fr πGENDERS_ERR_PARAMETERSβ an incorrect parameter has been passed in. not the vibe π«GENDERS_ERR_NULLPTRβ a null pointer has been found in the list passed in. π³οΈGENDERS_ERR_OUTMEMβmalloc(3)has failed internally, system is out of memory. the machine is going through it πGENDERS_ERR_MAGICβhandlehas an incorrect magic number.handledoes not point to a genders handle orhandlehas been destroyed bygenders_handle_destroy(3). the magic is gone, and that's lowkey tragic πͺβ¨
π FILES π
/usr/include/genders.h
π SEE ALSO π
libgenders(3), genders_handle_create(3), genders_load_data(3), genders_getnodes(3), genders_getattr(3), genders_getattr_all(3), genders_errnum(3), genders_strerror(3)
and that's the page, bestie!! this one came from LLNL, dated August 2003, and it's living in the LIBGENDERS section β so if you see it in the wild, that's the source and the date right there. historic. iconic. periodt π πβ¨
π¦ where this page comes from
- epel 10: libgenders-devel 1.28.1~^20231119git27b915d-5.el10_2 Β· GPL-2.0-only
- fedora 43: libgenders-devel 1.28.1~^20231119git27b915d-5.fc43 Β· GPL-2.0-only
- fedora 43: libgenders-devel 1.28.1~^20231119git27b915d-5.fc43 Β· GPL-2.0-only
- fedora 44: libgenders-devel 1.28.1~^20231119git27b915d-6.fc44 Β· GPL-2.0-only
- fedora 44: libgenders-devel 1.28.1~^20231119git27b915d-6.fc44 Β· GPL-2.0-only
- opensuse-leap 16.0: genders-devel 1.32-bp160.1.11 Β· GPL-2.0-or-later
- opensuse-leap 16.0: genders-devel 1.32-bp160.1.11 Β· GPL-2.0-or-later
- opensuse-leap 16.0: genders-devel 1.32-bp160.1.11 Β· GPL-2.0-or-later
- opensuse-leap 16.0: genders-devel 1.32-bp160.1.11 Β· GPL-2.0-or-later
- Copyright (C) 2007-2019 Lawrence Livermore National Security, LLC
- Copyright (C) 2001-2007 The Regents of the University of California
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms