remove hidden-visibility.h
I am removing this on the advice of a member of the Gentoo toolchain team. It was explained to me that this doesn't offer any significant benefits to OpenRC. If anyone ffeels differently, please open a pull request reverting this and adding an explanation of what it does and how to know which functions to mark hidden in the future. This fixes #301.
This commit is contained in:
parent
0d378974bf
commit
44f5a72d1a
@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
* Written by Mike Frysinger
|
|
||||||
* Placed in the Public Domain
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _HIDDEN_VISIBILITY_H_
|
|
||||||
#define _HIDDEN_VISIBILITY_H_
|
|
||||||
|
|
||||||
#if defined(__ELF__) && defined(__GNUC__)
|
|
||||||
# define __hidden_asmname(name) __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
|
|
||||||
# define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
|
|
||||||
# define __hidden_asmname2(prefix, name) #prefix name
|
|
||||||
# define __hidden_proto(name, internal) \
|
|
||||||
extern __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
|
|
||||||
__attribute__ ((visibility ("hidden")));
|
|
||||||
# define __hidden_ver(local, internal, name) \
|
|
||||||
extern __typeof (name) __EI_##name __asm__(__hidden_asmname (#internal)); \
|
|
||||||
extern __typeof (name) __EI_##name __attribute__((alias (__hidden_asmname1 (,#local))))
|
|
||||||
# define hidden_proto(name) __hidden_proto(name, __RC_##name)
|
|
||||||
# define hidden_def(name) __hidden_ver(__RC_##name, name, name);
|
|
||||||
#else
|
|
||||||
# define hidden_proto(name)
|
|
||||||
# define hidden_def(name)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -39,34 +39,6 @@ const char libeinfo_copyright[] = "Copyright (c) 2007-2008 Roy Marples";
|
|||||||
|
|
||||||
#include "einfo.h"
|
#include "einfo.h"
|
||||||
#include "helpers.h"
|
#include "helpers.h"
|
||||||
#include "hidden-visibility.h"
|
|
||||||
|
|
||||||
hidden_proto(ecolor)
|
|
||||||
hidden_proto(ebegin)
|
|
||||||
hidden_proto(ebeginv)
|
|
||||||
hidden_proto(ebracket)
|
|
||||||
hidden_proto(eend)
|
|
||||||
hidden_proto(eendv)
|
|
||||||
hidden_proto(eerror)
|
|
||||||
hidden_proto(eerrorn)
|
|
||||||
hidden_proto(eerrorx)
|
|
||||||
hidden_proto(eindent)
|
|
||||||
hidden_proto(eindentv)
|
|
||||||
hidden_proto(einfo)
|
|
||||||
hidden_proto(einfon)
|
|
||||||
hidden_proto(einfov)
|
|
||||||
hidden_proto(einfovn)
|
|
||||||
hidden_proto(elog)
|
|
||||||
hidden_proto(eoutdent)
|
|
||||||
hidden_proto(eoutdentv)
|
|
||||||
hidden_proto(eprefix)
|
|
||||||
hidden_proto(ewarn)
|
|
||||||
hidden_proto(ewarnn)
|
|
||||||
hidden_proto(ewarnv)
|
|
||||||
hidden_proto(ewarnvn)
|
|
||||||
hidden_proto(ewarnx)
|
|
||||||
hidden_proto(ewend)
|
|
||||||
hidden_proto(ewendv)
|
|
||||||
|
|
||||||
/* Incase we cannot work out how many columns from ioctl, supply a default */
|
/* Incase we cannot work out how many columns from ioctl, supply a default */
|
||||||
#define DEFAULT_COLS 80
|
#define DEFAULT_COLS 80
|
||||||
@ -510,7 +482,6 @@ eprefix(const char *EINFO_RESTRICT prefix)
|
|||||||
{
|
{
|
||||||
_eprefix = prefix;
|
_eprefix = prefix;
|
||||||
}
|
}
|
||||||
hidden_def(eprefix)
|
|
||||||
|
|
||||||
static void EINFO_PRINTF(2, 0)
|
static void EINFO_PRINTF(2, 0)
|
||||||
elogv(int level, const char *EINFO_RESTRICT fmt, va_list ap)
|
elogv(int level, const char *EINFO_RESTRICT fmt, va_list ap)
|
||||||
@ -537,7 +508,6 @@ elog(int level, const char *EINFO_RESTRICT fmt, ...)
|
|||||||
elogv(level, fmt, ap);
|
elogv(level, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
}
|
}
|
||||||
hidden_def(elog)
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_eindent(FILE * EINFO_RESTRICT stream)
|
_eindent(FILE * EINFO_RESTRICT stream)
|
||||||
@ -576,7 +546,6 @@ _ecolor(FILE * EINFO_RESTRICT f, ECOLOR color)
|
|||||||
return ecolors_str[i];
|
return ecolors_str[i];
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
hidden_def(ecolor)
|
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
ecolor(ECOLOR color)
|
ecolor(ECOLOR color)
|
||||||
@ -643,7 +612,6 @@ einfon(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("einfon");
|
LASTCMD("einfon");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(einfon)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ewarnn(const char *EINFO_RESTRICT fmt, ...)
|
ewarnn(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -659,7 +627,6 @@ ewarnn(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ewarnn");
|
LASTCMD("ewarnn");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ewarnn)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
eerrorn(const char *EINFO_RESTRICT fmt, ...)
|
eerrorn(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -675,7 +642,6 @@ eerrorn(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("errorn");
|
LASTCMD("errorn");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(eerrorn)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
einfo(const char *EINFO_RESTRICT fmt, ...)
|
einfo(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -692,7 +658,6 @@ einfo(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("einfo");
|
LASTCMD("einfo");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(einfo)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ewarn(const char *EINFO_RESTRICT fmt, ...)
|
ewarn(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -710,7 +675,6 @@ ewarn(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ewarn");
|
LASTCMD("ewarn");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ewarn)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ewarnx(const char *EINFO_RESTRICT fmt, ...)
|
ewarnx(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -727,7 +691,6 @@ ewarnx(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
}
|
}
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
hidden_def(ewarnx)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
eerror(const char *EINFO_RESTRICT fmt, ...)
|
eerror(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -745,7 +708,6 @@ eerror(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("eerror");
|
LASTCMD("eerror");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(eerror)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
eerrorx(const char *EINFO_RESTRICT fmt, ...)
|
eerrorx(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -761,7 +723,6 @@ eerrorx(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
}
|
}
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
hidden_def(eerrorx)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ebegin(const char *EINFO_RESTRICT fmt, ...)
|
ebegin(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -780,7 +741,6 @@ ebegin(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ebegin");
|
LASTCMD("ebegin");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ebegin)
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_eend(FILE * EINFO_RESTRICT fp, int col, ECOLOR color, const char *msg)
|
_eend(FILE * EINFO_RESTRICT fp, int col, ECOLOR color, const char *msg)
|
||||||
@ -854,7 +814,6 @@ eend(int retval, const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("eend");
|
LASTCMD("eend");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(eend)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ewend(int retval, const char *EINFO_RESTRICT fmt, ...)
|
ewend(int retval, const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -869,14 +828,12 @@ ewend(int retval, const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ewend");
|
LASTCMD("ewend");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ewend)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ebracket(int col, ECOLOR color, const char *msg)
|
ebracket(int col, ECOLOR color, const char *msg)
|
||||||
{
|
{
|
||||||
_eend(stdout, col, color, msg);
|
_eend(stdout, col, color, msg);
|
||||||
}
|
}
|
||||||
hidden_def(ebracket)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
eindent(void)
|
eindent(void)
|
||||||
@ -898,7 +855,6 @@ eindent(void)
|
|||||||
setenv("EINFO_INDENT", num, 1);
|
setenv("EINFO_INDENT", num, 1);
|
||||||
free(num);
|
free(num);
|
||||||
}
|
}
|
||||||
hidden_def(eindent)
|
|
||||||
|
|
||||||
void eoutdent(void)
|
void eoutdent(void)
|
||||||
{
|
{
|
||||||
@ -924,7 +880,6 @@ void eoutdent(void)
|
|||||||
}
|
}
|
||||||
errno = serrno;
|
errno = serrno;
|
||||||
}
|
}
|
||||||
hidden_def(eoutdent)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
einfovn(const char *EINFO_RESTRICT fmt, ...)
|
einfovn(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -940,7 +895,6 @@ einfovn(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("einfovn");
|
LASTCMD("einfovn");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(einfovn)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ewarnvn(const char *EINFO_RESTRICT fmt, ...)
|
ewarnvn(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -956,7 +910,6 @@ ewarnvn(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ewarnvn");
|
LASTCMD("ewarnvn");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ewarnvn)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
einfov(const char *EINFO_RESTRICT fmt, ...)
|
einfov(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -973,7 +926,6 @@ einfov(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("einfov");
|
LASTCMD("einfov");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(einfov)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ewarnv(const char *EINFO_RESTRICT fmt, ...)
|
ewarnv(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -990,7 +942,6 @@ ewarnv(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ewarnv");
|
LASTCMD("ewarnv");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ewarnv)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ebeginv(const char *EINFO_RESTRICT fmt, ...)
|
ebeginv(const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -1010,7 +961,6 @@ ebeginv(const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ebeginv");
|
LASTCMD("ebeginv");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ebeginv)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
eendv(int retval, const char *EINFO_RESTRICT fmt, ...)
|
eendv(int retval, const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -1025,7 +975,6 @@ eendv(int retval, const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("eendv");
|
LASTCMD("eendv");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(eendv)
|
|
||||||
|
|
||||||
int
|
int
|
||||||
ewendv(int retval, const char *EINFO_RESTRICT fmt, ...)
|
ewendv(int retval, const char *EINFO_RESTRICT fmt, ...)
|
||||||
@ -1040,7 +989,6 @@ ewendv(int retval, const char *EINFO_RESTRICT fmt, ...)
|
|||||||
LASTCMD("ewendv");
|
LASTCMD("ewendv");
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
hidden_def(ewendv)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
eindentv(void)
|
eindentv(void)
|
||||||
@ -1048,7 +996,6 @@ eindentv(void)
|
|||||||
if (is_verbose())
|
if (is_verbose())
|
||||||
eindent();
|
eindent();
|
||||||
}
|
}
|
||||||
hidden_def(eindentv)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
eoutdentv(void)
|
eoutdentv(void)
|
||||||
@ -1056,4 +1003,3 @@ eoutdentv(void)
|
|||||||
if (is_verbose())
|
if (is_verbose())
|
||||||
eoutdent();
|
eoutdent();
|
||||||
}
|
}
|
||||||
hidden_def(eoutdentv)
|
|
||||||
|
@ -208,7 +208,6 @@ rc_find_pids(const char *exec, const char *const *argv, uid_t uid, pid_t pid)
|
|||||||
closedir(procdir);
|
closedir(procdir);
|
||||||
return pids;
|
return pids;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_find_pids)
|
|
||||||
|
|
||||||
#elif BSD
|
#elif BSD
|
||||||
|
|
||||||
@ -313,7 +312,6 @@ rc_find_pids(const char *exec, const char *const *argv, uid_t uid, pid_t pid)
|
|||||||
|
|
||||||
return pids;
|
return pids;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_find_pids)
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
# error "Platform not supported!"
|
# error "Platform not supported!"
|
||||||
@ -455,7 +453,6 @@ rc_service_daemon_set(const char *service, const char *exec,
|
|||||||
free(dirpath);
|
free(dirpath);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_daemon_set)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_started_daemon(const char *service,
|
rc_service_started_daemon(const char *service,
|
||||||
@ -495,7 +492,6 @@ rc_service_started_daemon(const char *service,
|
|||||||
free(dirpath);
|
free(dirpath);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_started_daemon)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_daemons_crashed(const char *service)
|
rc_service_daemons_crashed(const char *service)
|
||||||
@ -653,4 +649,3 @@ rc_service_daemons_crashed(const char *service)
|
|||||||
|
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_daemons_crashed)
|
|
||||||
|
@ -78,7 +78,6 @@ rc_deptree_free(RC_DEPTREE *deptree)
|
|||||||
}
|
}
|
||||||
free(deptree);
|
free(deptree);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_free)
|
|
||||||
|
|
||||||
static RC_DEPINFO *
|
static RC_DEPINFO *
|
||||||
get_depinfo(const RC_DEPTREE *deptree, const char *service)
|
get_depinfo(const RC_DEPTREE *deptree, const char *service)
|
||||||
@ -109,7 +108,6 @@ RC_DEPTREE *
|
|||||||
rc_deptree_load(void) {
|
rc_deptree_load(void) {
|
||||||
return rc_deptree_load_file(RC_DEPTREE_CACHE);
|
return rc_deptree_load_file(RC_DEPTREE_CACHE);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_load)
|
|
||||||
|
|
||||||
RC_DEPTREE *
|
RC_DEPTREE *
|
||||||
rc_deptree_load_file(const char *deptree_file)
|
rc_deptree_load_file(const char *deptree_file)
|
||||||
@ -173,7 +171,6 @@ rc_deptree_load_file(const char *deptree_file)
|
|||||||
|
|
||||||
return deptree;
|
return deptree;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_load_file)
|
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
valid_service(const char *runlevel, const char *service, const char *type)
|
valid_service(const char *runlevel, const char *service, const char *type)
|
||||||
@ -459,7 +456,6 @@ rc_deptree_depend(const RC_DEPTREE *deptree,
|
|||||||
rc_stringlist_add(svcs, svc->value);
|
rc_stringlist_add(svcs, svc->value);
|
||||||
return svcs;
|
return svcs;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_depend)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_deptree_depends(const RC_DEPTREE *deptree,
|
rc_deptree_depends(const RC_DEPTREE *deptree,
|
||||||
@ -487,7 +483,6 @@ rc_deptree_depends(const RC_DEPTREE *deptree,
|
|||||||
rc_stringlist_free(visited);
|
rc_stringlist_free(visited);
|
||||||
return sorted;
|
return sorted;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_depends)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_deptree_order(const RC_DEPTREE *deptree, const char *runlevel, int options)
|
rc_deptree_order(const RC_DEPTREE *deptree, const char *runlevel, int options)
|
||||||
@ -543,7 +538,6 @@ rc_deptree_order(const RC_DEPTREE *deptree, const char *runlevel, int options)
|
|||||||
rc_stringlist_free(types);
|
rc_stringlist_free(types);
|
||||||
return services;
|
return services;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_order)
|
|
||||||
|
|
||||||
|
|
||||||
/* Given a time, recurse the target path to find out if there are
|
/* Given a time, recurse the target path to find out if there are
|
||||||
@ -633,7 +627,6 @@ rc_newer_than(const char *source, const char *target,
|
|||||||
|
|
||||||
return mtime_check(source, target, true, newest, file);
|
return mtime_check(source, target, true, newest, file);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_newer_than)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_older_than(const char *source, const char *target,
|
rc_older_than(const char *source, const char *target,
|
||||||
@ -641,7 +634,6 @@ rc_older_than(const char *source, const char *target,
|
|||||||
{
|
{
|
||||||
return mtime_check(source, target, false, oldest, file);
|
return mtime_check(source, target, false, oldest, file);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_older_than)
|
|
||||||
|
|
||||||
typedef struct deppair
|
typedef struct deppair
|
||||||
{
|
{
|
||||||
@ -737,7 +729,6 @@ rc_deptree_update_needed(time_t *newest, char *file)
|
|||||||
|
|
||||||
return newer;
|
return newer;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_update_needed)
|
|
||||||
|
|
||||||
/* This is a 7 phase operation
|
/* This is a 7 phase operation
|
||||||
Phase 1 is a shell script which loads each init script and config in turn
|
Phase 1 is a shell script which loads each init script and config in turn
|
||||||
@ -1084,4 +1075,3 @@ rc_deptree_update(void)
|
|||||||
rc_deptree_free(deptree);
|
rc_deptree_free(deptree);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_deptree_update)
|
|
||||||
|
@ -43,7 +43,6 @@ rc_yesno(const char *value)
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_yesno)
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -91,7 +90,6 @@ rc_getfile(const char *file, char **buffer, size_t *len)
|
|||||||
fclose(fp);
|
fclose(fp);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_getfile)
|
|
||||||
|
|
||||||
ssize_t
|
ssize_t
|
||||||
rc_getline(char **line, size_t *len, FILE *fp)
|
rc_getline(char **line, size_t *len, FILE *fp)
|
||||||
@ -116,7 +114,6 @@ rc_getline(char **line, size_t *len, FILE *fp)
|
|||||||
}
|
}
|
||||||
return last;
|
return last;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_getline)
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
rc_proc_getent(const char *ent _unused)
|
rc_proc_getent(const char *ent _unused)
|
||||||
@ -163,7 +160,6 @@ rc_proc_getent(const char *ent _unused)
|
|||||||
return NULL;
|
return NULL;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_proc_getent)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_config_list(const char *file)
|
rc_config_list(const char *file)
|
||||||
@ -202,7 +198,6 @@ rc_config_list(const char *file)
|
|||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_config_list)
|
|
||||||
|
|
||||||
static void rc_config_set_value(RC_STRINGLIST *config, char *value)
|
static void rc_config_set_value(RC_STRINGLIST *config, char *value)
|
||||||
{
|
{
|
||||||
@ -373,7 +368,6 @@ rc_config_load(const char *file)
|
|||||||
|
|
||||||
return config;
|
return config;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_config_load)
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
rc_config_value(RC_STRINGLIST *list, const char *entry)
|
rc_config_value(RC_STRINGLIST *list, const char *entry)
|
||||||
@ -392,7 +386,6 @@ rc_config_value(RC_STRINGLIST *list, const char *entry)
|
|||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_config_value)
|
|
||||||
|
|
||||||
/* Global for caching the strings loaded from rc.conf to avoid reparsing for
|
/* Global for caching the strings loaded from rc.conf to avoid reparsing for
|
||||||
* each rc_conf_value call */
|
* each rc_conf_value call */
|
||||||
@ -438,4 +431,3 @@ rc_conf_value(const char *setting)
|
|||||||
|
|
||||||
return rc_config_value(rc_conf, setting);
|
return rc_config_value(rc_conf, setting);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_conf_value)
|
|
||||||
|
@ -25,7 +25,6 @@ rc_stringlist_new(void)
|
|||||||
TAILQ_INIT(l);
|
TAILQ_INIT(l);
|
||||||
return l;
|
return l;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_new)
|
|
||||||
|
|
||||||
RC_STRING *
|
RC_STRING *
|
||||||
rc_stringlist_add(RC_STRINGLIST *list, const char *value)
|
rc_stringlist_add(RC_STRINGLIST *list, const char *value)
|
||||||
@ -36,7 +35,6 @@ rc_stringlist_add(RC_STRINGLIST *list, const char *value)
|
|||||||
TAILQ_INSERT_TAIL(list, s, entries);
|
TAILQ_INSERT_TAIL(list, s, entries);
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_add)
|
|
||||||
|
|
||||||
RC_STRING *
|
RC_STRING *
|
||||||
rc_stringlist_addu(RC_STRINGLIST *list, const char *value)
|
rc_stringlist_addu(RC_STRINGLIST *list, const char *value)
|
||||||
@ -51,7 +49,6 @@ rc_stringlist_addu(RC_STRINGLIST *list, const char *value)
|
|||||||
|
|
||||||
return rc_stringlist_add(list, value);
|
return rc_stringlist_add(list, value);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_addu)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_stringlist_delete(RC_STRINGLIST *list, const char *value)
|
rc_stringlist_delete(RC_STRINGLIST *list, const char *value)
|
||||||
@ -69,7 +66,6 @@ rc_stringlist_delete(RC_STRINGLIST *list, const char *value)
|
|||||||
errno = EEXIST;
|
errno = EEXIST;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_delete)
|
|
||||||
|
|
||||||
RC_STRING *
|
RC_STRING *
|
||||||
rc_stringlist_find(RC_STRINGLIST *list, const char *value)
|
rc_stringlist_find(RC_STRINGLIST *list, const char *value)
|
||||||
@ -83,7 +79,6 @@ rc_stringlist_find(RC_STRINGLIST *list, const char *value)
|
|||||||
}
|
}
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_find)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_stringlist_split(const char *value, const char *sep)
|
rc_stringlist_split(const char *value, const char *sep)
|
||||||
@ -98,7 +93,6 @@ rc_stringlist_split(const char *value, const char *sep)
|
|||||||
|
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_split)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
rc_stringlist_sort(RC_STRINGLIST **list)
|
rc_stringlist_sort(RC_STRINGLIST **list)
|
||||||
@ -128,7 +122,6 @@ rc_stringlist_sort(RC_STRINGLIST **list)
|
|||||||
free(l);
|
free(l);
|
||||||
*list = new;
|
*list = new;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_sort)
|
|
||||||
|
|
||||||
void
|
void
|
||||||
rc_stringlist_free(RC_STRINGLIST *list)
|
rc_stringlist_free(RC_STRINGLIST *list)
|
||||||
@ -148,4 +141,3 @@ rc_stringlist_free(RC_STRINGLIST *list)
|
|||||||
}
|
}
|
||||||
free(list);
|
free(list);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_stringlist_free)
|
|
||||||
|
@ -351,7 +351,6 @@ rc_sys(void)
|
|||||||
|
|
||||||
return sys;
|
return sys;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_sys)
|
|
||||||
|
|
||||||
static const char *
|
static const char *
|
||||||
rc_parse_service_state(RC_SERVICE state)
|
rc_parse_service_state(RC_SERVICE state)
|
||||||
@ -426,20 +425,17 @@ rc_runlevel_starting(void)
|
|||||||
{
|
{
|
||||||
return exists(RC_STARTING);
|
return exists(RC_STARTING);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_starting)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_runlevel_stopping(void)
|
rc_runlevel_stopping(void)
|
||||||
{
|
{
|
||||||
return exists(RC_STOPPING);
|
return exists(RC_STOPPING);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_stopping)
|
|
||||||
|
|
||||||
RC_STRINGLIST *rc_runlevel_list(void)
|
RC_STRINGLIST *rc_runlevel_list(void)
|
||||||
{
|
{
|
||||||
return ls_dir(RC_RUNLEVELDIR, LS_DIR);
|
return ls_dir(RC_RUNLEVELDIR, LS_DIR);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_list)
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
rc_runlevel_get(void)
|
rc_runlevel_get(void)
|
||||||
@ -466,7 +462,6 @@ rc_runlevel_get(void)
|
|||||||
|
|
||||||
return runlevel;
|
return runlevel;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_get)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_runlevel_set(const char *runlevel)
|
rc_runlevel_set(const char *runlevel)
|
||||||
@ -479,7 +474,6 @@ rc_runlevel_set(const char *runlevel)
|
|||||||
fclose(fp);
|
fclose(fp);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_set)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_runlevel_exists(const char *runlevel)
|
rc_runlevel_exists(const char *runlevel)
|
||||||
@ -494,7 +488,6 @@ rc_runlevel_exists(const char *runlevel)
|
|||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_exists)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_runlevel_stack(const char *dst, const char *src)
|
rc_runlevel_stack(const char *dst, const char *src)
|
||||||
@ -507,7 +500,6 @@ rc_runlevel_stack(const char *dst, const char *src)
|
|||||||
snprintf(d, sizeof(s), "%s/%s/%s", RC_RUNLEVELDIR, dst, src);
|
snprintf(d, sizeof(s), "%s/%s/%s", RC_RUNLEVELDIR, dst, src);
|
||||||
return (symlink(s, d) == 0 ? true : false);
|
return (symlink(s, d) == 0 ? true : false);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_stack)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_runlevel_unstack(const char *dst, const char *src)
|
rc_runlevel_unstack(const char *dst, const char *src)
|
||||||
@ -517,7 +509,6 @@ rc_runlevel_unstack(const char *dst, const char *src)
|
|||||||
snprintf(path, sizeof(path), "%s/%s/%s", RC_RUNLEVELDIR, dst, src);
|
snprintf(path, sizeof(path), "%s/%s/%s", RC_RUNLEVELDIR, dst, src);
|
||||||
return (unlink(path) == 0 ? true : false);
|
return (unlink(path) == 0 ? true : false);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_unstack)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_runlevel_stacks(const char *runlevel)
|
rc_runlevel_stacks(const char *runlevel)
|
||||||
@ -530,7 +521,6 @@ rc_runlevel_stacks(const char *runlevel)
|
|||||||
rc_stringlist_free(ancestor_list);
|
rc_stringlist_free(ancestor_list);
|
||||||
return stack;
|
return stack;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_runlevel_stacks)
|
|
||||||
|
|
||||||
/* Resolve a service name to its full path */
|
/* Resolve a service name to its full path */
|
||||||
char *
|
char *
|
||||||
@ -584,7 +574,6 @@ rc_service_resolve(const char *service)
|
|||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_resolve)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_exists(const char *service)
|
rc_service_exists(const char *service)
|
||||||
@ -623,7 +612,6 @@ rc_service_exists(const char *service)
|
|||||||
free(file);
|
free(file);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_exists)
|
|
||||||
|
|
||||||
#define OPTSTR \
|
#define OPTSTR \
|
||||||
". '%s'; echo $extra_commands $extra_started_commands $extra_stopped_commands"
|
". '%s'; echo $extra_commands $extra_started_commands $extra_stopped_commands"
|
||||||
@ -665,7 +653,6 @@ rc_service_extra_commands(const char *service)
|
|||||||
free(cmd);
|
free(cmd);
|
||||||
return commands;
|
return commands;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_extra_commands)
|
|
||||||
|
|
||||||
#define DESCSTR ". '%s'; echo \"${description%s%s}\""
|
#define DESCSTR ". '%s'; echo \"${description%s%s}\""
|
||||||
char *
|
char *
|
||||||
@ -695,7 +682,6 @@ rc_service_description(const char *service, const char *option)
|
|||||||
free(cmd);
|
free(cmd);
|
||||||
return desc;
|
return desc;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_description)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_in_runlevel(const char *service, const char *runlevel)
|
rc_service_in_runlevel(const char *service, const char *runlevel)
|
||||||
@ -706,7 +692,6 @@ rc_service_in_runlevel(const char *service, const char *runlevel)
|
|||||||
runlevel, basename_c(service));
|
runlevel, basename_c(service));
|
||||||
return exists(file);
|
return exists(file);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_in_runlevel)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_mark(const char *service, const RC_SERVICE state)
|
rc_service_mark(const char *service, const RC_SERVICE state)
|
||||||
@ -826,7 +811,6 @@ rc_service_mark(const char *service, const RC_SERVICE state)
|
|||||||
free(init);
|
free(init);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_mark)
|
|
||||||
|
|
||||||
RC_SERVICE
|
RC_SERVICE
|
||||||
rc_service_state(const char *service)
|
rc_service_state(const char *service)
|
||||||
@ -869,7 +853,6 @@ rc_service_state(const char *service)
|
|||||||
|
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_state)
|
|
||||||
|
|
||||||
char *
|
char *
|
||||||
rc_service_value_get(const char *service, const char *option)
|
rc_service_value_get(const char *service, const char *option)
|
||||||
@ -884,7 +867,6 @@ rc_service_value_get(const char *service, const char *option)
|
|||||||
|
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_value_get)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_value_set(const char *service, const char *option,
|
rc_service_value_set(const char *service, const char *option,
|
||||||
@ -909,7 +891,6 @@ rc_service_value_set(const char *service, const char *option,
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_value_set)
|
|
||||||
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
@ -936,7 +917,6 @@ rc_service_schedule_start(const char *service, const char *service_to_start)
|
|||||||
free(init);
|
free(init);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_schedule_start)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_schedule_clear(const char *service)
|
rc_service_schedule_clear(const char *service)
|
||||||
@ -949,7 +929,6 @@ rc_service_schedule_clear(const char *service)
|
|||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_schedule_clear)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_services_in_runlevel(const char *runlevel)
|
rc_services_in_runlevel(const char *runlevel)
|
||||||
@ -987,7 +966,6 @@ rc_services_in_runlevel(const char *runlevel)
|
|||||||
list = rc_stringlist_new();
|
list = rc_stringlist_new();
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_services_in_runlevel)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_services_in_runlevel_stacked(const char *runlevel)
|
rc_services_in_runlevel_stacked(const char *runlevel)
|
||||||
@ -1004,7 +982,6 @@ rc_services_in_runlevel_stacked(const char *runlevel)
|
|||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_services_in_runlevel_stacked)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_services_in_state(RC_SERVICE state)
|
rc_services_in_state(RC_SERVICE state)
|
||||||
@ -1038,7 +1015,6 @@ rc_services_in_state(RC_SERVICE state)
|
|||||||
rc_stringlist_free(dirs);
|
rc_stringlist_free(dirs);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_services_in_state)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_add(const char *runlevel, const char *service)
|
rc_service_add(const char *runlevel, const char *service)
|
||||||
@ -1084,7 +1060,6 @@ rc_service_add(const char *runlevel, const char *service)
|
|||||||
free(init);
|
free(init);
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_add)
|
|
||||||
|
|
||||||
bool
|
bool
|
||||||
rc_service_delete(const char *runlevel, const char *service)
|
rc_service_delete(const char *runlevel, const char *service)
|
||||||
@ -1097,7 +1072,6 @@ rc_service_delete(const char *runlevel, const char *service)
|
|||||||
return true;
|
return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_delete)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_services_scheduled_by(const char *service)
|
rc_services_scheduled_by(const char *service)
|
||||||
@ -1116,7 +1090,6 @@ rc_services_scheduled_by(const char *service)
|
|||||||
rc_stringlist_free(dirs);
|
rc_stringlist_free(dirs);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_services_scheduled_by)
|
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_services_scheduled(const char *service)
|
rc_services_scheduled(const char *service)
|
||||||
@ -1127,4 +1100,3 @@ rc_services_scheduled(const char *service)
|
|||||||
basename_c(service));
|
basename_c(service));
|
||||||
return ls_dir(dir, LS_INITD);
|
return ls_dir(dir, LS_INITD);
|
||||||
}
|
}
|
||||||
librc_hidden_def(rc_services_scheduled)
|
|
||||||
|
@ -56,67 +56,4 @@
|
|||||||
#include "rc.h"
|
#include "rc.h"
|
||||||
#include "rc-misc.h"
|
#include "rc-misc.h"
|
||||||
|
|
||||||
#include "hidden-visibility.h"
|
|
||||||
#define librc_hidden_proto(x) hidden_proto(x)
|
|
||||||
#define librc_hidden_def(x) hidden_def(x)
|
|
||||||
|
|
||||||
librc_hidden_proto(rc_conf_value)
|
|
||||||
librc_hidden_proto(rc_config_list)
|
|
||||||
librc_hidden_proto(rc_config_load)
|
|
||||||
librc_hidden_proto(rc_config_value)
|
|
||||||
librc_hidden_proto(rc_deptree_depend)
|
|
||||||
librc_hidden_proto(rc_deptree_depends)
|
|
||||||
librc_hidden_proto(rc_deptree_free)
|
|
||||||
librc_hidden_proto(rc_deptree_load)
|
|
||||||
librc_hidden_proto(rc_deptree_load_file)
|
|
||||||
librc_hidden_proto(rc_deptree_order)
|
|
||||||
librc_hidden_proto(rc_deptree_update)
|
|
||||||
librc_hidden_proto(rc_deptree_update_needed)
|
|
||||||
librc_hidden_proto(rc_find_pids)
|
|
||||||
librc_hidden_proto(rc_getfile)
|
|
||||||
librc_hidden_proto(rc_getline)
|
|
||||||
librc_hidden_proto(rc_newer_than)
|
|
||||||
librc_hidden_proto(rc_proc_getent)
|
|
||||||
librc_hidden_proto(rc_older_than)
|
|
||||||
librc_hidden_proto(rc_runlevel_exists)
|
|
||||||
librc_hidden_proto(rc_runlevel_get)
|
|
||||||
librc_hidden_proto(rc_runlevel_list)
|
|
||||||
librc_hidden_proto(rc_runlevel_set)
|
|
||||||
librc_hidden_proto(rc_runlevel_stack)
|
|
||||||
librc_hidden_proto(rc_runlevel_stacks)
|
|
||||||
librc_hidden_proto(rc_runlevel_starting)
|
|
||||||
librc_hidden_proto(rc_runlevel_stopping)
|
|
||||||
librc_hidden_proto(rc_runlevel_unstack)
|
|
||||||
librc_hidden_proto(rc_service_add)
|
|
||||||
librc_hidden_proto(rc_service_daemons_crashed)
|
|
||||||
librc_hidden_proto(rc_service_daemon_set)
|
|
||||||
librc_hidden_proto(rc_service_delete)
|
|
||||||
librc_hidden_proto(rc_service_description)
|
|
||||||
librc_hidden_proto(rc_service_exists)
|
|
||||||
librc_hidden_proto(rc_service_extra_commands)
|
|
||||||
librc_hidden_proto(rc_service_in_runlevel)
|
|
||||||
librc_hidden_proto(rc_service_mark)
|
|
||||||
librc_hidden_proto(rc_service_resolve)
|
|
||||||
librc_hidden_proto(rc_service_schedule_clear)
|
|
||||||
librc_hidden_proto(rc_service_schedule_start)
|
|
||||||
librc_hidden_proto(rc_services_in_runlevel)
|
|
||||||
librc_hidden_proto(rc_services_in_runlevel_stacked)
|
|
||||||
librc_hidden_proto(rc_services_in_state)
|
|
||||||
librc_hidden_proto(rc_services_scheduled)
|
|
||||||
librc_hidden_proto(rc_services_scheduled_by)
|
|
||||||
librc_hidden_proto(rc_service_started_daemon)
|
|
||||||
librc_hidden_proto(rc_service_state)
|
|
||||||
librc_hidden_proto(rc_service_value_get)
|
|
||||||
librc_hidden_proto(rc_service_value_set)
|
|
||||||
librc_hidden_proto(rc_stringlist_add)
|
|
||||||
librc_hidden_proto(rc_stringlist_addu)
|
|
||||||
librc_hidden_proto(rc_stringlist_delete)
|
|
||||||
librc_hidden_proto(rc_stringlist_find)
|
|
||||||
librc_hidden_proto(rc_stringlist_free)
|
|
||||||
librc_hidden_proto(rc_stringlist_new)
|
|
||||||
librc_hidden_proto(rc_stringlist_split)
|
|
||||||
librc_hidden_proto(rc_stringlist_sort)
|
|
||||||
librc_hidden_proto(rc_sys)
|
|
||||||
librc_hidden_proto(rc_yesno)
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user