rc_service_add(3) rc_service_daemon_set

LIBRARY

Run Command library (librc, -lrc)

SYNOPSIS

In rc.h Ft bool Fn rc_service_add const char *runlevel const char *service Ft bool Fn rc_service_delete const char *runlevel const char *service Ft bool Fo rc_service_daemon_set Fa const char *service Fa const char *exec Fa const char *name Fa const char *pidfile Fa bool started Fc Ft char * Fo rc_service_description Fa const char *service Fa const char *option Fc Ft bool Fn rc_service_exists const char *service Ft bool Fn rc_service_in_runlevel const char *service const char *runlevel Ft bool Fn rc_service_mark const char *service RC_SERVICE state Ft RC_STRINGLIST * Fn rc_service_extra_commands const char *service Ft bool Fn rc_service_plugable const char *service Ft char * rc_service_resolve const char *service Ft bool Fo rc_service_schedule_start Fa const char *service Fa const char *service_to_start Fc Ft RC_STRINGLIST * Fn rc_services_scheduled_by const char *service Ft bool Fn rc_service_schedule_clear const char *service Ft RC_SERVICE Fn rc_service_state const char *service Ft bool Fo rc_service_started_daemon Fa const char *service Fa const char *exec Fa int indx Fc Ft char * Fn rc_service_value_get const char *service const char *option Ft bool Fo rc_service_value_set Fa const char *service Fa const char *option Fa const char *value Fc Ft RC_STRINGLIST * Fn rc_services_in_runlevel const char *runlevel Ft RC_STRINGLIST * Fn rc_services_in_state RC_SERVICE state Ft RC_STRINGLIST * Fn rc_services_scheduled const char *service Ft bool Fn rc_service_daemons_crashed const char *service

DESCRIPTION

These functions provide a means of querying OpenRC services to find out the state of each one, to start and stop it, and any other functions related to it.

Most functions should be self descriptive as to what they do and what they return based on names and arguments.

Fn rc_service_add adds the Fa service to the Fa runlevel .

Fn rc_service_delete deletes the Fa service from the Fa runlevel .

Fn rc_service_daemon_set saves the arguments in the Fa service state data so that Fn rc_service_daemons_crashed can check to see if they are still running or not.

Fn rc_service_description returns the description variable of the Fa service . If Fa option is not null then we return the Fa description_$option variable instead.

Fn rc_service_exists returns true if the Fa service exists, otherwise false.

Fn rc_service_in_runlevel returns true if the Fa service is in the Fa runlevel , otherwise false.

Fn rc_service_mark puts the Fa service into the given Fa state . If the state is RC_SERVICE_STOPPED then all data associated with the Fa service is lost. Fn rc_service_extra_commands returns a list of extra commands the Fa service supports beyond the default ones. See openrc-run for default commands.

Fn rc_service_plugable returns true if the service is allowed to be plugged by rc.conf Default is true.

Fn rc_service_resolve resolves Fa service to the full path of service that was started, or would be started.

When Fa service starts, it starts Fa service_to_start afterswards as directed by Fn rc_service_schedule_start . Fn rc_services_scheduled returns a list of services that will be started when Fa service starts. Fn rc_service_schedule_clear clears these scheduled services for Fa service .

Fn rc_service_state returns the state of Fa service . The return value is a bitmask, where more than one state can apply.

Fn rc_service_started_daemon checks to see if Fa service started Fa exec using start-stop-daemon If Fa indx is greater than zero, then it must also be the nth daemon started by Fa service . Fn rc_service_value_set saves the Fa value under the name Fa option . Fn rc_service_value_get returns the value of the saved Fa option .

Fn rc_services_in_runlevel returns a list of services in Fa runlevel . If Fa runlevel is not specified, then it returns a list of all available services.

Fn rc_services_in_state returns a list of all the services in Fa state .

IMPLEMENTATION NOTES

Each function that returns char * returns a malloced NULL terminated string that should be freed when done.

Each function that returns RC_STRINGLIST * should be freed using Fn rc_stringlist_free when done.

When a function fails it should either return false or NULL and set errno unless specified otherwise as above.

FILES

/lib/rc/init.d normally holds the volatile state data for services on a RAM backed disk.

AUTHORS

An Roy Marples <[email protected]>