panic() cleanup.
[minix.git] / include / minix / ds.h
blobfd9f42296c595385e25cded63bc0ccfd366a3688
1 /* Prototypes and definitions for DS interface. */
3 #ifndef _MINIX_DS_H
4 #define _MINIX_DS_H
6 #include <minix/types.h>
8 /* Flags. */
9 #define DSF_IN_USE 0x001 /* entry is in use */
10 #define DSF_PRIV_RETRIEVE 0x002 /* only owner can retrieve */
11 #define DSF_PRIV_OVERWRITE 0x004 /* only owner can overwrite */
12 #define DSF_PRIV_SNAPSHOT 0x004 /* only owner can take a snapshot */
13 #define DSF_PRIV_SUBSCRIBE 0x008 /* only owner can subscribe */
14 #define DSF_TYPE_U32 0x010 /* u32 data type */
15 #define DSF_TYPE_STR 0x020 /* string data type */
16 #define DSF_TYPE_MEM 0x040 /* memory range data type */
17 #define DSF_TYPE_MAP 0x080 /* mapped memory range data type */
18 #define DSF_TYPE_LABEL 0x100 /* label data type */
20 #define DSF_MASK_TYPE 0xFF0 /* mask for type flags. */
21 #define DSF_MASK_INTERNAL 0xFFF /* mask for internal flags. */
23 #define DSF_OVERWRITE 0x01000 /* overwrite if entry exists */
24 #define DSF_INITIAL 0x02000 /* check subscriptions immediately */
26 #define DSMF_MAP_MAPPED 0x10000 /* map mapped memory range */
27 #define DSMF_COPY_MAPPED 0x20000 /* copy mapped memory range */
28 #define DSMF_COPY_SNAPSHOT 0x40000 /* copy snapshot */
30 /* DS constants. */
31 #define DS_MAX_KEYLEN 80 /* Max length of a key, including '\0'. */
32 #define DS_MAX_STRLEN 16 /* Max length of string, including '\0'. */
34 /* ds.c */
36 /* U32 */
37 _PROTOTYPE( int ds_publish_u32, (const char *name, u32_t val, int flags));
38 _PROTOTYPE( int ds_retrieve_u32, (const char *name, u32_t *val));
39 _PROTOTYPE( int ds_delete_u32, (const char *ds_name));
41 /* STRING */
42 _PROTOTYPE( int ds_publish_str, (const char *name, char *val, int flags));
43 _PROTOTYPE( int ds_retrieve_str, (const char *name, char *val, size_t len));
44 _PROTOTYPE( int ds_delete_str, (const char *ds_name));
46 /* MEM */
47 _PROTOTYPE( int ds_publish_mem, (const char *ds_name, void *vaddr,
48 size_t length, int flags));
49 _PROTOTYPE( int ds_retrieve_mem, (const char *ds_name, char *vaddr,
50 size_t *length));
51 _PROTOTYPE( int ds_delete_mem, (const char *ds_name));
53 /* MAP */
54 _PROTOTYPE( int ds_publish_map, (const char *ds_name, void *vaddr,
55 size_t length, int flags));
56 _PROTOTYPE( int ds_snapshot_map, (const char *ds_name, int *nr_snapshot));
57 _PROTOTYPE( int ds_retrieve_map, (const char *ds_name, char *vaddr,
58 size_t *length, int nr_snapshot, int flags));
59 _PROTOTYPE( int ds_delete_map, (const char *ds_name));
61 /* LABEL */
62 _PROTOTYPE( int ds_publish_label, (const char *ds_name, u32_t value,int flags));
63 _PROTOTYPE( int ds_retrieve_label_name, (char *ds_name, u32_t num));
64 _PROTOTYPE( int ds_retrieve_label_num, (const char *ds_name, u32_t *value));
65 _PROTOTYPE( int ds_delete_label, (const char *ds_name));
67 /* Subscribe and check. */
68 _PROTOTYPE( int ds_subscribe, (const char *regex, int flags));
69 _PROTOTYPE( int ds_check, (char *ds_name, int *type));
71 #endif /* _MINIX_DS_H */