GENDERS_NODELIST_CREATE(3)
π NAME π
okay bestie, gather round, because this is GENDERS_NODELIST_CREATE(3) from the LIBGENDERS era and it's literally the list-handling girlies π
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 β¨
β¨ 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 here's the tea β β 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 to create, clear, and destroy lists β and by "lists" we mean arrays of strings, fr fr β so you can hand them off to genders_getnodes(3), genders_getattr(3), and genders_getattr_all(3). π«Ά
genders_nodelist_create(), genders_attrlist_create(), and genders_vallist_create() build you a list with the minimum size needed to store nodes, attributes, and attribute values respectively. nodelist, attrlist, and vallist get set to point at the list that just got created. And here's the part that slays: the created lists are guaranteed to store all the node, attribute, and value info coming back from genders_getnodes(3), genders_getattr(3), and genders_getattr_all(3). no overflow, no stress, periodt π
genders_nodelist_clear(), genders_attrlist_clear(), and genders_vallist_clear() wipe out whatever info is sitting in the lists pointed to by nodelist, attrlist, and vallist respectively. Bestie, listen β you do not have to call these after their respective create functions. π You only call them after the list has been used in genders_getnodes(3), genders_getattr(3), and genders_getattr_all(3), and the programmer wants to re-use that list. that's it, that's the whole vibe.
genders_nodelist_destroy(), genders_attrlist_destroy(), and genders_vallist_destroy() destroy the lists pointed to by nodelist, attrlist, and vallist respectively. bye bye π
lowkey important note: if no attributes or values are listed in the genders database, all of theattrlistandvallistfunctions will do nothing. literally nothing. π And the pointer you passed intogenders_attrlist_create()andgenders_vallist_create()will not be set.
π₯ RETURN VALUES π₯
On success, genders_nodelist_create(), genders_attrlist_create(), and genders_vallist_create() return the number of elements the created list can store π
On success, genders_nodelist_clear(), genders_attrlist_clear(), genders_vallist_clear(), genders_nodelist_destroy(), genders_attrlist_destroy(), and genders_vallist_destroy() return 0.
On error, -1 is returned, and an error code is returned in handle. π That error code can be retrieved via genders_errnum(3), and a description of it can be retrieved via genders_strerror(3). Error codes are defined in genders.h.
π ERRORS π
GENDERS_ERR_NULLHANDLEβ thehandleparameter isNULL. babe. the genders handle must be created withgenders_handle_create(3). no handle, no service π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. like, we can't size anything if we haven't read anything, iykyk πGENDERS_ERR_PARAMETERSβ an incorrect parameter has been passed in. π©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 struggling πGENDERS_ERR_MAGICβhandlehas an incorrect magic number.handledoes not point to a genders handle, orhandlehas been destroyed bygenders_handle_destroy(3). fake handle, not iconic β¨
π 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 whole page, bestie!! π this one came to you straight from LLNL, August 2003 β the LIBGENDERS girlies have been at this since way before you were born, and they ate. go create some lists, clear them when you're done reusing them, destroy them when you're finished, and drink water. mwah ππ¦β¨
π¦ 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