| /* 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 */ |