summaryrefslogtreecommitdiff
path: root/src/libs6rc/s6rc_service_common.c
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2021-07-21 13:16:39 +0000
committerLaurent Bercot <ska@appnovation.com>2021-07-21 13:16:39 +0000
commit53d7f0de3feeb8ad93bb8c319c3f0f314c7d31cf (patch)
treeba85733fc50c6f1ee56261cbd33328e4c78af435 /src/libs6rc/s6rc_service_common.c
parent89a440efc603e6d6c7fa85b01a5a904baff5cd26 (diff)
downloads6-rc-53d7f0de3feeb8ad93bb8c319c3f0f314c7d31cf.tar.xz
New id/typenum mapping, monitor filter, cdb in db_load, etc.
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libs6rc/s6rc_service_common.c')
-rw-r--r--src/libs6rc/s6rc_service_common.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/src/libs6rc/s6rc_service_common.c b/src/libs6rc/s6rc_service_common.c
index f3146be..8cbf839 100644
--- a/src/libs6rc/s6rc_service_common.c
+++ b/src/libs6rc/s6rc_service_common.c
@@ -4,16 +4,10 @@
#include <s6-rc/db.h>
-s6rc_common_t const *s6rc_service_common (s6rc_db_t const *db, s6rc_sid_t const *id)
+s6rc_common_t const *s6rc_service_common (s6rc_db_t const *db, uint32_t 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 ;
- }
+ uint32_t num ;
+ uint8_t type ;
+ s6rc_service_typenum(db->n, id, &type, &num) ;
+ return s6rc_service_common_tn(db, type, num) ;
}