Add man pages for all librc functions.
This commit is contained in:
		| @@ -1,6 +1,10 @@ | ||||
| DIR = /usr/share/man | ||||
| MAN3 = einfo.3 | ||||
| MAN8 = start-stop-daemon.8 rc.8 rc-update.8 runscript.8  | ||||
| _MAN3_SH = ls -1 *.3 | ||||
| _MAN3 != $(_MAN3_SH) | ||||
| MAN3 = $(_MAN3)$(shell $(_MAN3_SH)) | ||||
| _MAN8_SH = ls -1 *.8 | ||||
| _MAN8 != $(_MAN8_SH) | ||||
| MAN8 = $(_MAN8)$(shell $(_MAN8_SH)) | ||||
|  | ||||
| TOPDIR = .. | ||||
| include $(TOPDIR)/default.mk | ||||
|   | ||||
							
								
								
									
										72
									
								
								man/rc_config.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								man/rc_config.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,72 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_CONFIG 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_config_list , rc_config_load , rc_config_value , rc_yesno | ||||
| .Nd functions to query OpenRC service configurations | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .Ft "char **" Fn rc_config_list "const char *file" | ||||
| .Ft "char **" Fn rc_config_load "const char *file" | ||||
| .Ft "char *" Fn rc_config_value "const char *const *list" "const char *entry" | ||||
| .Ft bool Fn rc_yesno "const char *value" | ||||
| .Sh DESCRIPTION | ||||
| These functions provide an easy means of querying OpenRC configuration files. | ||||
| .Pp | ||||
| .Fn rc_config_list | ||||
| returns a list of non comment lines in | ||||
| .Fa file . | ||||
| .Fn rc_config_load | ||||
| does the same, but attempts to parse the line as if it was | ||||
| a shell assignment. | ||||
| .Fn rc_config_value | ||||
| returns the value of | ||||
| .Fa entry | ||||
| found in | ||||
| .Fa list . | ||||
| .Pp | ||||
| Each list should be freed using | ||||
| .Fn rc_strlist_free | ||||
| when done. | ||||
| .Pp | ||||
| .Fn rc_yesno | ||||
| returns if | ||||
| .Fa value | ||||
| is true, yes, on or 1 regardless of case, otherwise false. | ||||
| If | ||||
| .Fa value | ||||
| is also not false, no, off or 0 regardless of case then | ||||
| .Va errno | ||||
| is set to | ||||
| .Va EINVAL . | ||||
| .Sh SEE ALSO | ||||
| .Xr rc_strlist_free 3 , | ||||
| .Xr sh 1 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
							
								
								
									
										114
									
								
								man/rc_deptree.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								man/rc_deptree.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,114 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_DEPTREE 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_deptree_update , rc_deptree_update_needed , rc_deptree_load , | ||||
| .Nm rc_deptree_depend , rc_deptree_depends , rc_deptree_order , | ||||
| .Nm rc_deptree_free | ||||
| .Nd RC dependency tree functions | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h  | ||||
| .Ft bool Fn rc_deptree_update void | ||||
| .Ft bool Fn rc_deptree_update_needed void | ||||
| .Ft rc_depinfo_t Fn rc_deptree_load void | ||||
| .Ft "char **" Fo rc_deptree_depend | ||||
| .Fa "const rc_depinfo_t *deptree" | ||||
| .Fa "const char *type" | ||||
| .Fa "const char *service" | ||||
| .Fc | ||||
| .Ft bool Fo rc_deptree_depends | ||||
| .Fa "const rc_depinfo_t *deptree" | ||||
| .Fa "const char *const *types" | ||||
| .Fa "const char *const *services" | ||||
| .Fa "const char *runlevel" | ||||
| .Fa "int options" | ||||
| .Fc | ||||
| .Ft "char **" Fo rc_deptree_order | ||||
| .Fa "const rc_depinfo_t *deptree" | ||||
| .Fa "const char *runlevel" | ||||
| .Fa "int options" | ||||
| .Fc | ||||
| .Ft void Fn rc_deptree_free "rc_depinfo_t *deptree" | ||||
| .Sh DESCRIPTION | ||||
| These functions provide a means of querying the dependencies of OpenRC | ||||
| services. | ||||
| .Pp | ||||
| .Fn rc_deptree_update | ||||
| updates the service dependency tree, normally | ||||
| .Pa /lib/rc/init.d/deptree . | ||||
| .Fn rc_deptree_update_needed | ||||
| checks to see if the dependency tree needs updated based on the mtime of it | ||||
| compared to | ||||
| .Pa /etc/init.d , | ||||
| .Pa /etc/conf.d , | ||||
| .Pa /usr/local/etc/init.d , | ||||
| .Pa /usr/local/etc/conf.d , | ||||
| .Pa /etc/rc.conf | ||||
| and any files specified by a service. | ||||
| .Pp | ||||
| .Fn rc_deptree_load | ||||
| loads the deptree and returns a pointer to it which needs to be freed by | ||||
| .Fn rc_deptree_free | ||||
| when done. | ||||
| .Pp | ||||
| .Fn rc_deptree_depend , | ||||
| .Fn rc_deptree_depends  | ||||
| and | ||||
| .Fn rc_deptree_order | ||||
| return a list of services from the | ||||
| .Fa deptree | ||||
| based on the | ||||
| .Fa type | ||||
| or | ||||
| .Fa types | ||||
| of dependency. | ||||
| .Fa options | ||||
| can be a bitmask of | ||||
| .Va RC_DEP_TRACE | ||||
| and | ||||
| .Va RC_DEP_STRICT . | ||||
| .Va RC_DEP_TRACE | ||||
| follows each services dependencies right down to the first service needed and | ||||
| .Va RC_DEP_STRICT | ||||
| only lists services actually needed or in the | ||||
| .Va runlevel . | ||||
| .Sh IMPLEMENTATION NOTES | ||||
| Each function that returns | ||||
| .Fr "char **" | ||||
| returns a malloced NULL terminated array of malloced NULL terminated strings, | ||||
| all of which need to be freed using | ||||
| .Fn rc_strlist_free | ||||
| when done. | ||||
| .Sh SEE ALSO | ||||
| .Xr malloc 3 , | ||||
| .Xr free 3 , | ||||
| .Xr rc_strlist_free 3 , | ||||
| .Xr runscript 8 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
							
								
								
									
										66
									
								
								man/rc_find_pids.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								man/rc_find_pids.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_FIND_PIDS 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_find_pids | ||||
| .Nd finds the pids of processes that match the given criteria | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .Ft "pid_t *" Fo rc_find_pids | ||||
| .Fa "const char *exec" | ||||
| .Fa "const char *cmd" | ||||
| .Fa "uid_t uid" | ||||
| .Fa "pid_t pid" | ||||
| .Fc | ||||
| .Sh DESCRIPTION | ||||
| .Fn rc_find_pids | ||||
| returns a NULL terminated list of pids for processes matching the given | ||||
| criteria. If | ||||
| .Fa pid | ||||
| is given then only that pid is returned if it is running. Otherise we check | ||||
| all instances of | ||||
| .Fa exec | ||||
| with a process name of | ||||
| .Fa cmd | ||||
| owned by | ||||
| .Fa uid , | ||||
| all of which are optional. | ||||
| .Pp | ||||
| The retuned list should be freed when done. | ||||
| .Sh IMPLEMENTATION NOTES | ||||
| On BSD systems we use | ||||
| .Lb libkvm | ||||
| and on Linux systems we use the | ||||
| .Pa /proc | ||||
| filesystem to find our processes. | ||||
| .Sh SEE ALSO | ||||
| .Xr free 3 , | ||||
| .Xr malloc 3 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
							
								
								
									
										51
									
								
								man/rc_plugin_hook.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								man/rc_plugin_hook.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_PLUGIN_HOOK 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_plugin_hook | ||||
| .Nd hooks plugins into OpenRC services | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .Ft int Fn rc_plugin_hook "rc_hook_t hook" "const char *name" | ||||
| .Sh DESCRIPTION | ||||
| .Fn rc_plugin_hook | ||||
| is called for each shareable object found in | ||||
| .Pa /lib/rc/plugins . | ||||
| .Fa hook | ||||
| is set to the hook running, and | ||||
| .Fa name | ||||
| is set to the name of the runlevel or name of the service. | ||||
| .Pp | ||||
| Plugins can affect the parent environemnt by writing NULL separated strings to | ||||
| .Va rc_environ_fd . | ||||
| .Sh SEE ALSO | ||||
| .Xr rc 8 , | ||||
| .Xr runscript 8 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
							
								
								
									
										67
									
								
								man/rc_runlevel.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								man/rc_runlevel.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,67 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_RUNLEVEL 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_runlevel_get , rc_runlevel_exists , rc_runlevel_list , rc_runlevel_set , | ||||
| .Nm rc_runlevel_starting , rc_runlevel_stopping | ||||
| .Nd RC runlevel functions | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h  | ||||
| .Ft "char *" Fn rc_runlevel_get void | ||||
| .Ft bool Fn rc_runlevel_exists | ||||
| .Ft "char **" Fn rc_runlevel_list void | ||||
| .Ft bool Fn rc_runlevel_set "const char *runlevel" | ||||
| .Ft bool Fn rc_runlevel_starting void | ||||
| .Ft bool Fn rc_runlevel_stopping void | ||||
| .Sh DESCRIPTION | ||||
| These functions provide a means of querying OpenRC to find out which runlevel | ||||
| we are in and what services are in which runlevel. | ||||
| .Sh IMPLEMENTATION NOTES | ||||
| Each function that returns | ||||
| .Fr "char *" | ||||
| returns a malloced NULL terminated string that should be freed when done. | ||||
| .Pp | ||||
| Each function that returns | ||||
| .Fr "char **" | ||||
| returns a malloced NULL terminated array of malloced NULL terminated strings, | ||||
| all of which need to be freed using | ||||
| .Fn rc_strlist_free | ||||
| when done. | ||||
| .Sh FILES | ||||
| .Pa /etc/init.d/functions.sh | ||||
| is provided by OpenRC, which allows shell scripts to use the above functions. | ||||
| For historical reasons our verbose functions are prefixed with v instead of | ||||
| suffixed. So einfov becomes veinfo, einfovn becomes veinfon. | ||||
| Rinse and repeat for the other verbose functions. | ||||
| .Sh SEE ALSO | ||||
| .Xr malloc 3 , | ||||
| .Xr free 3 | ||||
| .Xr rc_strlist_free 3 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
							
								
								
									
										244
									
								
								man/rc_service.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										244
									
								
								man/rc_service.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,244 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_SERVICE 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_service_add , rc_service_delete , rc_service_daemon_set , | ||||
| .Nm rc_service_description , rc_service_exists , rc_service_in_runlevel , | ||||
| .Nm rc_service_mark , rc_service_extra_commands , rc_service_plugable , | ||||
| .Nm rc_service_resolve , rc_service_schedule_start , rc_services_scheduled_by , | ||||
| .Nm rc_service_schedule_clear , rc_service_state , | ||||
| .Nm rc_service_start , rc_service_stop , | ||||
| .Nm rc_service_started_daemon , rc_service_value_get , rc_service_value_set , | ||||
| .Nm rc_services_in_runlevel , rc_services_in_state , rc_services_scheduled , | ||||
| .Nm rc_service_daemons_crashed | ||||
| .Nd functions to start, stop and query OpenRC services | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh 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_t state" | ||||
| .Ft "char **" 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 "char **" Fn rc_services_scheduled_by "const char *service" | ||||
| .Ft bool Fn rc_service_schedule_clear "const char *service" | ||||
| .Ft rc_service_state_t Fn rc_service_state "const char *service" | ||||
| .Ft pid_t Fn rc_service_start "const char *service" | ||||
| .Ft pid_t Fn rc_service_stop "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 "char **" Fn rc_services_in_runlevel "const char *runlevel" | ||||
| .Ft "char **" Fn rc_services_in_state "rc_service_state_t state" | ||||
| .Ft "char **" Fn rc_services_scheduled "const char *service" | ||||
| .Ft bool Fn rc_service_daemons_crashed "const char *service" | ||||
| .Sh 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. | ||||
| .Pp | ||||
| Most functions should be self descriptive as to what they do and what they | ||||
| return based on names and arguments. | ||||
| .Pp | ||||
| .Fn rc_service_add | ||||
| adds the | ||||
| .Fa service | ||||
| to the | ||||
| .Fa runlevel . | ||||
| .Pp | ||||
| .Fn rc_service_delete | ||||
| deletes the | ||||
| .Fa service | ||||
| from the | ||||
| .Fa runlevel . | ||||
| .Pp | ||||
| .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. | ||||
| .Pp | ||||
| .Fn rc_service_description | ||||
| returns the | ||||
| .Va description | ||||
| variable of the | ||||
| .Fa service . | ||||
| If | ||||
| .Fa option | ||||
| is not null then we return the | ||||
| .Fa description_$option | ||||
| variable instead. | ||||
| .Pp | ||||
| .Fn rc_service_exists | ||||
| returns true if the | ||||
| .Fa service | ||||
| exists, otherwise false. | ||||
| .Pp | ||||
| .Fn rc_service_in_runlevel | ||||
| returns true if the | ||||
| .Fa service | ||||
| is in the | ||||
| .Fa runlevel , | ||||
| otherwise false. | ||||
| .Pp | ||||
| .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 | ||||
| .Nm runscript | ||||
| for default commands. | ||||
| .Pp | ||||
| .Fn rc_service_plugable | ||||
| returns true if the service is allowed to be plugged by | ||||
| .Pa rc.conf . | ||||
| Default is true. | ||||
| .Pp | ||||
| .Fn rc_service_resolve | ||||
| resolves | ||||
| .Fa service | ||||
| to the full path of service that was started, or would be started. | ||||
| .Pp | ||||
| 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 . | ||||
| .Pp | ||||
| .Fn rc_service_state returns the state of | ||||
| .Fa service . | ||||
| The return value is a bitmask, where more than one state can apply. | ||||
| .Pp | ||||
| .Fn rc_service_start | ||||
| starts | ||||
| .Fa service , | ||||
| returning the pid of new process. | ||||
| .Pp | ||||
| .Fn rc_service_stop | ||||
| stops | ||||
| .Fa service , | ||||
| returning the pid of new process. | ||||
| .Pp | ||||
| .Fn rc_service_started_daemon | ||||
| checks to see if | ||||
| .Fa service | ||||
| started | ||||
| .Fa exec | ||||
| using | ||||
| .Nm 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 . | ||||
| .Pp | ||||
| .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. | ||||
| .Pp | ||||
| .Fn rc_services_in_state | ||||
| returns a list of all the services in | ||||
| .Fa state . | ||||
| .Sh IMPLEMENTATION NOTES | ||||
| Each function that returns | ||||
| .Fr "char *" | ||||
| returns a malloced NULL terminated string that should be freed when done. | ||||
| .Pp | ||||
| Each function that returns | ||||
| .Fr "char **" | ||||
| returns a malloced NULL terminated array of malloced NULL terminated strings, | ||||
| all of which need to be freed using | ||||
| .Fn rc_strlist_free | ||||
| when done. | ||||
| .Pp | ||||
| When a function fails it should either return false or NULL and set | ||||
| .Va errno | ||||
| unless specified otherwise as above. | ||||
| .Sh FILES | ||||
| .Pa /lib/rc/init.d | ||||
| normally holds the volatile state data for services on a RAM backed disk. | ||||
| .Sh SEE ALSO | ||||
| .Xr errno 3 , | ||||
| .Xr malloc 3 , | ||||
| .Xr free 3 | ||||
| .Xr rc_strlist_free 3 , | ||||
| .Xr start-stop-daemon 8 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
							
								
								
									
										45
									
								
								man/rc_strcatpaths.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								man/rc_strcatpaths.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,45 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_STRCATPATHS 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_strcatpaths | ||||
| .Nd concatenates each elements, seperating each with / as necessary | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .Ft "char *" Fn rc_strcatpaths "const char *path" ... | ||||
| .Sh DESCRIPTION | ||||
| .Fn rc_strcatpaths concatenates each | ||||
| .Fa path , | ||||
| seperating each with / as necessary and returns a malloced pointer | ||||
| to the result. This should be freed when done. | ||||
| .Sh SEE ALSO | ||||
| .Xr free 3 , | ||||
| .Xr malloc 3 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
							
								
								
									
										104
									
								
								man/rc_strlist.3
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										104
									
								
								man/rc_strlist.3
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,104 @@ | ||||
| .\" Copyright 2007 Roy Marples | ||||
| .\" All rights reserved | ||||
| .\" | ||||
| .\" Redistribution and use in source and binary forms, with or without | ||||
| .\" modification, are permitted provided that the following conditions | ||||
| .\" are met: | ||||
| .\" 1. Redistributions of source code must retain the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer. | ||||
| .\" 2. Redistributions in binary form must reproduce the above copyright | ||||
| .\"    notice, this list of conditions and the following disclaimer in the | ||||
| .\"    documentation and/or other materials provided with the distribution. | ||||
| .\" | ||||
| .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||||
| .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE | ||||
| .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||
| .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||
| .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||
| .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||
| .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||
| .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||
| .\" SUCH DAMAGE. | ||||
| .\" | ||||
| .Dd Dec 24, 2007 | ||||
| .Dt RC_STRLIST 3 SMM | ||||
| .Os OpenRC | ||||
| .Sh NAME | ||||
| .Nm rc_strlist_add , rc_strlist_addu , rc_strlist_addsort , | ||||
| .Nm rc_strlist_addsortc , rc_strlist_addsortu , rc_strlist_delete , | ||||
| .Nm rc_strlist_join , rc_strlist_reverse , rc_strlist_free | ||||
| .Nd RC string list functions | ||||
| .Sh LIBRARY | ||||
| Run Command library (librc, -lrc) | ||||
| .Sh SYNOPSIS | ||||
| .In rc.h | ||||
| .Ft "char *" Fn rc_strlist_add "char ***list" "const char *item" | ||||
| .Ft "char *" Fn rc_strlist_addu "char ***list" "const char *item" | ||||
| .Ft "char *" Fn rc_strlist_addsort "char ***list" "const char *item" | ||||
| .Ft "char *" Fn rc_strlist_addsortc "char ***list" "const char *item" | ||||
| .Ft "char *" Fn rc_strlist_addsortu "char ***list" "const char *item" | ||||
| .Ft bool Fn rc_strlist_delete "char ***list" "const char *item" | ||||
| .Ft "char *" Fn rc_strlist_join "char ***list1" "const char **list2" | ||||
| .Ft void Fn rc_strlist_reverse "char **list" | ||||
| .Ft void Fn rc_strlist_free "char **list" | ||||
| .Sh DESCRIPTION | ||||
| These functions provide an easy means of manipulating string lists without | ||||
| the need for custom structures or non standard macros. | ||||
| .Pp | ||||
| .Fn rc_strlist_add | ||||
| adds a malloced copy of | ||||
| .Fa item | ||||
| to | ||||
| .Fa list , | ||||
| realloced to accomodate the new item. It returns a pointer to the new item on | ||||
| success, or NULL on failure and sets | ||||
| .Va errno | ||||
| accordingly. | ||||
| .Fn rc_strlist_addu | ||||
| and | ||||
| .Fn rc_strlist_addsortu | ||||
| only work if | ||||
| .Fa list | ||||
| does not already contain | ||||
| .Fa item . | ||||
| .Fn rc_strlist_addsort | ||||
| adds the item to the list in a lexically sorted position, using | ||||
| .Nm strcoll , | ||||
| whereas | ||||
| .Fn rc_strlist_addsortc | ||||
| uses | ||||
| .Nm strcmp . | ||||
| .Pp | ||||
| .Fn rc_strlist_delete | ||||
| removes and frees | ||||
| .Fa item | ||||
| from | ||||
| .Fa list , | ||||
| retuning true on success, otherwise false. | ||||
| .Pp | ||||
| .Fn rc_strlist_join | ||||
| appends | ||||
| .Fa list2 | ||||
| to the end of | ||||
| .Fa list1 | ||||
| and returns a pointer to the last item on the new list. | ||||
| .Pp | ||||
| .Fn rc_strlist_reverse | ||||
| reverses the items on | ||||
| .Fa list . | ||||
| .Pp | ||||
| .Fn rc_strlist_free | ||||
| frees each item on | ||||
| .Fa list | ||||
| and the | ||||
| .Fa list | ||||
| itself. | ||||
| .Sh SEE ALSO | ||||
| .Xr malloc 3 , | ||||
| .Xr free 3 , | ||||
| .Xr strcmp 3 , | ||||
| .Xr strcoll 3 | ||||
| .Sh AUTHORS | ||||
| .An "Roy Marples" Aq roy@marples.name | ||||
| @@ -367,6 +367,7 @@ show() { | ||||
| .Xr rc 8 , | ||||
| .Xr rc-status 8 , | ||||
| .Xr rc-update 8 , | ||||
| .Xr rc_plugin_hook 3 , | ||||
| .Xr sh 1p , | ||||
| .Xr start-stop-daemon 8 , | ||||
| .Xr uname 1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user