blob: 471bb0b2a4353c9f95fb3c2df147c6fe006a1c21 [file] [log] [blame]
/* Portions of this file are subject to the following copyright(s). See
* the Net-SNMP's COPYING file for more details and other copyrights
* that may apply:
*/
/*
* Portions of this file are copyrighted by:
* Copyright (C) 2007 Apple, Inc. All rights reserved.
* Use is subject to license terms specified in the COPYING file
* distributed with the Net-SNMP package.
*/
#ifndef NETSNMP_DIR_UTILS_H
#define NETSNMP_DIR_UTILS_H
#ifdef __cplusplus
extern "C" {
#endif
/*
* filter function; return 1 to include file, 0 to exclude
*/
#define NETSNMP_DIR_EXCLUDE 0
#define NETSNMP_DIR_INCLUDE 1
typedef int (netsnmp_directory_filter)(const void *text, void *ctx);
/*------------------------------------------------------------------
*
* Prototypes
*/
netsnmp_container *
netsnmp_directory_container_read_some(netsnmp_container *user_container,
const char *dirname,
netsnmp_directory_filter *filter,
void *filter_ctx, u_int flags);
#define netsnmp_directory_container_read(c,d,f) \
netsnmp_directory_container_read_some(c,d,NULL,NULL,f);
void netsnmp_directory_container_free(netsnmp_container *c);
/*------------------------------------------------------------------
*
* flags
*/
#define NETSNMP_DIR_RECURSE 0x0001
#define NETSNMP_DIR_RELATIVE_PATH 0x0002
#define NETSNMP_DIR_SORTED 0x0004
/** don't return null if dir empty */
#define NETSNMP_DIR_EMPTY_OK 0x0008
/** store netsnmp_file instead of filenames */
#define NETSNMP_DIR_NSFILE 0x0010
/** load stats in netsnmp_file */
#define NETSNMP_DIR_NSFILE_STATS 0x0020
#ifdef __cplusplus
}
#endif
#endif /* NETSNMP_DIR_UTILS_H */