diff options
Diffstat (limited to 'include/net-snmp/library/file_utils.h')
-rw-r--r-- | include/net-snmp/library/file_utils.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/include/net-snmp/library/file_utils.h b/include/net-snmp/library/file_utils.h new file mode 100644 index 0000000..fa9b5a4 --- /dev/null +++ b/include/net-snmp/library/file_utils.h @@ -0,0 +1,89 @@ +#ifndef NETSNMP_FILE_UTILS_H +#define NETSNMP_FILE_UTILS_H + +#ifdef __cplusplus +extern "C" { +#endif + + + /*------------------------------------------------------------------ + * + * structures + * + */ + typedef struct netsnmp_file_s { + + /* + * file name + */ + char *name; + + /* + * file descriptor for the file + */ + int fd; + + /* + * filesystem flags + */ + int fs_flags; + + /* + * open/create mode + */ + mode_t mode; + + /* + * netsnmp flags + */ + u_int ns_flags; + + + + /* + * future expansion + */ + netsnmp_data_list *extras; + + } netsnmp_file; + + + + /*------------------------------------------------------------------ + * + * Prototypes + * + */ + netsnmp_file * netsnmp_file_create(void); + netsnmp_file * netsnmp_file_fill(netsnmp_file * filei, const char* name, + int fs_flags, mode_t mode, u_int ns_flags); + int netsnmp_file_release(netsnmp_file * filei); + + int netsnmp_file_open(netsnmp_file * filei); + int netsnmp_file_close(netsnmp_file * filei); + + + + /*------------------------------------------------------------------ + * + * flags + * + */ +#define NETSNMP_FILE_NO_AUTOCLOSE 0x00000001 +#define NETSNMP_FILE_ 0x00000002 + + /*------------------------------------------------------------------ + * + * macros + * + */ +#define NS_FI_AUTOCLOSE(x) (0 == (x & NETSNMP_FILE_NO_AUTOCLOSE)) +#define NS_FI_(x) (0 == (x & NETSNMP_FILE_)) + + + +#ifdef __cplusplus +} +#endif + +#endif /* NETSNMP_FILE_UTILS_H */ |