39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /* Prototypes and definitions for DS interface. */
 | |
| 
 | |
| #ifndef _MINIX_DS_H
 | |
| #define _MINIX_DS_H
 | |
| 
 | |
| #include <sys/types.h>
 | |
| 
 | |
| /* DS Flag values. */
 | |
| #define DS_IN_USE       0x0001	/* Internal use only. */
 | |
| #define DS_PUBLIC       0x0002	/* Publically retrievable value. */
 | |
| #define DS_INITIAL      0x0004	/* On subscription, send initial contents. */
 | |
| 
 | |
| /* These type flags are mutually exclusive. Give as args to ds_subscribe. */
 | |
| #define DS_TYPE_U32     0x0100
 | |
| #define DS_TYPE_STR     0x0200
 | |
| #define DS_TYPE_MASK    0xff00	/* All type info. */
 | |
| 
 | |
| /* DS constants. */
 | |
| #define DS_MAX_KEYLEN 80        /* Max length for a key, including '\0'. */
 | |
| #define DS_MAX_VALLEN 100	/* Max legnth for a str value, incl '\0'. */ 
 | |
| 
 | |
| /* ds.c */
 | |
| _PROTOTYPE( int ds_subscribe, (char *name_regexp, int type, int flags));
 | |
| 
 | |
| /* publish/update item */
 | |
| _PROTOTYPE( int ds_publish_u32, (char *name, u32_t val));
 | |
| _PROTOTYPE( int ds_publish_str, (char *name, char *val));
 | |
| 
 | |
| /* retrieve item by name + type */
 | |
| _PROTOTYPE( int ds_retrieve_u32, (char *name, u32_t *val)          );
 | |
| _PROTOTYPE( int ds_retrieve_str, (char *name, char *val, size_t len));
 | |
| 
 | |
| /* retrieve updates for item */
 | |
| _PROTOTYPE( int ds_check_u32, (char *n, size_t namelen, u32_t *val));
 | |
| _PROTOTYPE( int ds_check_str, (char *n, size_t namelen, char *v, size_t vlen));
 | |
| 
 | |
| #endif /* _MINIX_DS_H */
 | |
| 
 | 
