summaryrefslogtreecommitdiff
path: root/src/serverlib/s6rc-servicedir-internal.h
blob: a4af0b95be3cb26d77a03a1404478664f521a21e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/* ISC license. */

#ifndef S6RC_SERVICEDIR_INTERNAL_H
#define S6RC_SERVICEDIR_INTERNAL_H

#include <sys/types.h>

typedef enum s6rc_filetype_e s6rc_filetype_t, *s6rc_filetype_t_ref ;
enum s6rc_filetype_e
{
  FILETYPE_NORMAL,
  FILETYPE_EMPTY,
  FILETYPE_UINT,
  FILETYPE_DIR
} ;

#define SVFILE_EXECUTABLE 0x01
#define SVFILE_MANDATORY 0x02
#define SVFILE_ATOMIC 0x04

typedef struct s6rc_servicedir_desc_s s6rc_servicedir_desc_t, *s6rc_servicedir_desc_t_ref ;
struct s6rc_servicedir_desc_s
{
  char const *name ;
  s6rc_filetype_t type ;
  unsigned char options ;
} ;

extern s6rc_servicedir_desc_t const *s6rc_servicedir_file_list ;
extern size_t const s6rc_servicedir_file_maxlen ;

extern int s6rc_servicedir_copy_one (char const *, char const *, s6rc_servicedir_desc_t const *) ;

#endif