From 4c1d58b509c83ff788fe1ad6b5bdd1073977622c Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Tue, 29 Jun 2021 00:16:10 +0000 Subject: Some work on the db representation Signed-off-by: Laurent Bercot --- src/libs6rcd/s6rc_service_common.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/libs6rcd/s6rc_service_common.c (limited to 'src/libs6rcd/s6rc_service_common.c') diff --git a/src/libs6rcd/s6rc_service_common.c b/src/libs6rcd/s6rc_service_common.c new file mode 100644 index 0000000..93c6ee3 --- /dev/null +++ b/src/libs6rcd/s6rc_service_common.c @@ -0,0 +1,19 @@ +/* ISC license. */ + +#include + +#include "db.h" + +s6rc_common_t const *s6rc_service_common (s6rc_db_t const *db, s6rc_sid_t const *id) +{ + uint32_t i = id->i + (id->param ? db->n[id->stype] : 0) ; + switch (id->stype) + { + case STYPE_LONGRUN : return &db->longruns[i].common ; + case STYPE_ONESHOT : return &db->oneshots[i].common ; + case STYPE_EXTERNAL : return &db->externals[i].common ; + case STYPE_BUNDLE : return &db->bundles[i].common ; + case STYPE_VIRTUAL : return &db->virtuals[i].common ; + default : return 0 ; + } +} -- cgit v1.3.1