DOKK / manpages / debian 12 / librc-dev / rc_deptree_load.3.en
RC_DEPTREE(3) Library Functions Manual (smm) RC_DEPTREE(3)

rc_deptree_update, rc_deptree_update_needed, rc_deptree_load, rc_deptree_depend, rc_deptree_depends, rc_deptree_order, rc_deptree_freeRC dependency tree functions

Run Command library (librc, -lrc)

#include <rc.h>

bool
rc_deptree_update(void);

bool
rc_deptree_update_needed(void);

RC_DEPTREE
rc_deptree_load(void);

RC_STRINGLIST *
rc_deptree_depend(const RC_DEPTREE *deptree, const char *type, const char *service);

bool
rc_deptree_depends(const RC_DEPTREE *deptree, const char *const *types, const char *const *services, const char *runlevel, int options);

RC_STRINGLIST *
rc_deptree_order(const RC_DEPTREE *deptree, const char *runlevel, int options);

void
rc_deptree_free(RC_DEPTREE *deptree);

These functions provide a means of querying the dependencies of OpenRC services.

() updates the service dependency tree, normally /lib/rc/init.d/deptree. () checks to see if the dependency tree needs updated based on the mtime of it compared to /etc/init.d, /etc/conf.d, /usr/local/etc/init.d, /usr/local/etc/conf.d, /etc/rc.conf and any files specified by a service.

() loads the deptree and returns a pointer to it which needs to be freed by () when done.

(), () and () return a list of services from the deptree based on the type or types of dependency. options can be a bitmask of RC_DEP_TRACE and RC_DEP_STRICT. RC_DEP_TRACE follows each services dependencies right down to the first service needed and RC_DEP_STRICT only lists services actually needed or in the runlevel.

Each function that returns RC_STRINGLIST * should be freed by calling rc_stringlist_free() when done.

malloc(3), free(3), rc_stringlist_free(3), openrc-run(8)

Roy Marples <roy@marples.name>

March 16, 2008 OpenRC