diff options
Diffstat (limited to 'src/libs6rc/s6rc_servicedir_internal.c')
-rw-r--r-- | src/libs6rc/s6rc_servicedir_internal.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/src/libs6rc/s6rc_servicedir_internal.c b/src/libs6rc/s6rc_servicedir_internal.c index ba7e6b9..dfc0a44 100644 --- a/src/libs6rc/s6rc_servicedir_internal.c +++ b/src/libs6rc/s6rc_servicedir_internal.c @@ -7,31 +7,31 @@ #include <skalibs/posixplz.h> #include <skalibs/types.h> #include <skalibs/djbunix.h> +#include <s6/servicedir.h> #include <s6-rc/s6rc-utils.h> #include "s6rc-servicedir-internal.h" -static s6rc_servicedir_desc_t const svdir_file_list[] = +static s6_servicedir_desc const svdir_file_list[] = { - { .name = "finish", .type = FILETYPE_NORMAL, .options = SVFILE_EXECUTABLE | SVFILE_ATOMIC }, - { .name = "finish.user", .type = FILETYPE_NORMAL, .options = SVFILE_EXECUTABLE }, - { .name = "run", .type = FILETYPE_NORMAL, .options = SVFILE_EXECUTABLE | SVFILE_MANDATORY | SVFILE_ATOMIC }, - { .name = "run.user", .type = FILETYPE_NORMAL, .options = SVFILE_EXECUTABLE }, - { .name = "notification-fd", .type = FILETYPE_UINT, .options = 0 }, - { .name = "lock-fd", .type = FILETYPE_UINT, .options = 0 }, - { .name = "timeout-kill", .type = FILETYPE_UINT, .options = 0 }, - { .name = "timeout-finish", .type = FILETYPE_UINT, .options = 0 }, - { .name = "max-death-tally", .type = FILETYPE_UINT, .options = 0 }, - { .name = "down-signal", .type = FILETYPE_NORMAL, .options = 0 }, - { .name = "data", .type = FILETYPE_DIR, .options = 0 }, - { .name = "env", .type = FILETYPE_DIR, .options = 0 }, + { .name = "finish", .type = S6_FILETYPE_NORMAL, .options = S6_SVFILE_EXECUTABLE | S6_SVFILE_ATOMIC }, + { .name = "finish.user", .type = S6_FILETYPE_NORMAL, .options = S6_SVFILE_EXECUTABLE }, + { .name = "run", .type = S6_FILETYPE_NORMAL, .options = S6_SVFILE_EXECUTABLE | S6_SVFILE_MANDATORY | S6_SVFILE_ATOMIC }, + { .name = "run.user", .type = S6_FILETYPE_NORMAL, .options = S6_SVFILE_EXECUTABLE }, + { .name = "notification-fd", .type = S6_FILETYPE_UINT, .options = 0 }, + { .name = "lock-fd", .type = S6_FILETYPE_UINT, .options = 0 }, + { .name = "timeout-kill", .type = S6_FILETYPE_UINT, .options = 0 }, + { .name = "timeout-finish", .type = S6_FILETYPE_UINT, .options = 0 }, + { .name = "max-death-tally", .type = S6_FILETYPE_UINT, .options = 0 }, + { .name = "down-signal", .type = S6_FILETYPE_NORMAL, .options = 0 }, + { .name = "data", .type = S6_FILETYPE_DIR, .options = 0 }, + { .name = "env", .type = S6_FILETYPE_DIR, .options = 0 }, { .name = 0, .options = 0 } } ; -s6rc_servicedir_desc_t const *s6rc_servicedir_file_list = svdir_file_list ; -size_t const s6rc_servicedir_file_maxlen = 16 ; +s6_servicedir_desc const *const s6rc_servicedir_file_list = svdir_file_list ; -int s6rc_servicedir_copy_one (char const *src, char const *dst, s6rc_servicedir_desc_t const *p) +int s6rc_servicedir_copy_one (char const *src, char const *dst, s6_servicedir_desc const *p) { size_t srclen = strlen(src) ; size_t dstlen = strlen(dst) ; @@ -47,27 +47,27 @@ int s6rc_servicedir_copy_one (char const *src, char const *dst, s6rc_servicedir_ switch (p->type) { - case FILETYPE_NORMAL : + case S6_FILETYPE_NORMAL : { - unsigned int mode = p->options & SVFILE_EXECUTABLE ? 0755 : 0644 ; - if (!(p->options & SVFILE_ATOMIC ? filecopy_suffix(srcfn, dstfn, mode, ".new") : filecopy_unsafe(srcfn, dstfn, mode))) + unsigned int mode = p->options & S6_SVFILE_EXECUTABLE ? 0755 : 0644 ; + if (!(p->options & S6_SVFILE_ATOMIC ? filecopy_suffix(srcfn, dstfn, mode, ".new") : filecopy_unsafe(srcfn, dstfn, mode))) { - if (errno != ENOENT || p->options & SVFILE_MANDATORY) return 0 ; + if (errno != ENOENT || p->options & S6_SVFILE_MANDATORY) return 0 ; } break ; } - case FILETYPE_EMPTY : + case S6_FILETYPE_EMPTY : if (access(srcfn, F_OK) < 0) { - if (errno != ENOENT || p->options & SVFILE_MANDATORY) return 0 ; + if (errno != ENOENT || p->options & S6_SVFILE_MANDATORY) return 0 ; } else if (!touch(dstfn)) return 0 ; break ; - case FILETYPE_UINT : + case S6_FILETYPE_UINT : { unsigned int u ; int r = s6rc_read_uint(srcfn, &u) ; - if (r < 0 || (!r && p->options & SVFILE_MANDATORY)) return 0 ; + if (r < 0 || (!r && p->options & S6_SVFILE_MANDATORY)) return 0 ; if (r) { char fmt[UINT_FMT] ; @@ -77,10 +77,10 @@ int s6rc_servicedir_copy_one (char const *src, char const *dst, s6rc_servicedir_ } break ; } - case FILETYPE_DIR : + case S6_FILETYPE_DIR : if (!hiercopy(srcfn, dstfn)) { - if (errno != ENOENT || p->options & SVFILE_MANDATORY) return 0 ; + if (errno != ENOENT || p->options & S6_SVFILE_MANDATORY) return 0 ; } break ; default : return (errno = EDOM, 0) ; |