and added files
[bcm963xx.git] / userapps / opensource / net-snmp / include / net-snmp / library / system.h
diff --git a/userapps/opensource/net-snmp/include/net-snmp/library/system.h b/userapps/opensource/net-snmp/include/net-snmp/library/system.h
new file mode 100644 (file)
index 0000000..545c8d5
--- /dev/null
@@ -0,0 +1,115 @@
+#ifndef SNMP_SYSTEM_H
+#define SNMP_SYSTEM_H
+
+#ifdef __cplusplus
+extern          "C" {
+#endif
+
+/***********************************************************
+        Copyright 1993 by Carnegie Mellon University
+
+                      All Rights Reserved
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation, and that the name of CMU not be
+used in advertising or publicity pertaining to distribution of the
+software without specific, written prior permission.
+
+CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
+ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
+CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
+ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
+SOFTWARE.
+******************************************************************/
+    /*
+     * Definitions for the system dependent library file
+     */
+#ifdef WIN32
+
+    /*
+     * structure of a directory entry 
+     */
+    typedef struct direct {
+        long            d_ino;  /* inode number (not used by MS-DOS) */
+        int             d_namlen;       /* Name length */
+        char            d_name[257];    /* file name */
+    } _DIRECT;
+
+    /*
+     * structure for dir operations 
+     */
+    typedef struct _dir_struc {
+        char           *start;  /* Starting position */
+        char           *curr;   /* Current position */
+        long            size;   /* Size of string table */
+        long            nfiles; /* number if filenames in table */
+        struct direct   dirstr; /* Directory structure to return */
+    } DIR;
+
+    DIR            *opendir(const char *filename);
+    struct direct  *readdir(DIR * dirp);
+    int             closedir(DIR * dirp);
+
+#ifndef HAVE_GETTIMEOFDAY
+    int             gettimeofday(struct timeval *, struct timezone *tz);
+#endif
+#ifndef HAVE_STRCASECMP
+    int             strcasecmp(const char *s1, const char *s2);
+#endif
+#ifndef HAVE_STRNCASECMP
+    int             strncasecmp(const char *s1, const char *s2, size_t n);
+#endif
+
+    char           *winsock_startup(void);
+    void            winsock_cleanup(void);
+
+#define SOCK_STARTUP winsock_startup()
+#define SOCK_CLEANUP winsock_cleanup()
+
+#else                           /* !WIN32 */
+
+#define SOCK_STARTUP
+#define SOCK_CLEANUP
+
+#endif                          /* WIN32 */
+
+#include <net-snmp/types.h>     /* For definition of in_addr_t */
+
+    in_addr_t       get_myaddr(void);
+    long            get_uptime(void);
+
+#ifndef HAVE_STRDUP
+    char           *strdup(const char *);
+#endif
+#ifndef HAVE_SETENV
+    int             setenv(const char *, const char *, int);
+#endif
+
+    int             calculate_time_diff(struct timeval *,
+                                        struct timeval *);
+
+#ifndef HAVE_STRCASESTR
+    char           *strcasestr(const char *, const char *);
+#endif
+#ifndef HAVE_STRTOL
+    long            strtol(const char *, char **, int);
+#endif
+#ifndef HAVE_STRTOUL
+    unsigned long   strtoul(const char *, char **, int);
+#endif
+#ifndef HAVE_SNPRINTF
+    int             snprintf(char *, size_t, const char *, ...);
+#endif
+
+    int             mkdirhier(const char *pathname, mode_t mode,
+                              int skiplast);
+
+#ifdef __cplusplus
+}
+#endif
+#endif                          /* SNMP_SYSTEM_H */