summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/asn1util.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--public/sdk/inc/asn1util.h181
1 files changed, 181 insertions, 0 deletions
diff --git a/public/sdk/inc/asn1util.h b/public/sdk/inc/asn1util.h
new file mode 100644
index 000000000..443e91a62
--- /dev/null
+++ b/public/sdk/inc/asn1util.h
@@ -0,0 +1,181 @@
+/*****************************************************************************/
+/* Copyright (C) 1989-1996 Open Systems Solutions, Inc. All rights reserved.*/
+/*****************************************************************************/
+
+/* THIS FILE IS PROPRIETARY MATERIAL OF OPEN SYSTEMS SOLUTIONS, INC.
+ * AND MAY ONLY BE USED BY DIRECT LICENSEES OF OPEN SYSTEM SOLUTIONS, INC.
+ * THIS FILE MAY NOT BE DISTRIBUTED. */
+
+/**************************************************************************/
+/* FILE: @(#)asn1util.h 5.4 96/04/23 */
+/* */
+/* function: Support routines definitions for the optimized */
+/* encoder/decoder generated by the OSS ASN.1 Compiler */
+/* */
+/* */
+/* changes: */
+/* 11/16/90 pet created */
+/* */
+/**************************************************************************/
+
+#include "ossdll.h"
+
+#if defined(_MSC_VER) && (defined(_WIN32) || defined(WIN32))
+#pragma pack(push, ossPacking, 4)
+#elif defined(_MSC_VER) && (defined(_WINDOWS) || defined(_MSDOS))
+#pragma pack(1)
+#elif defined(__BORLANDC__) && defined(__MSDOS__)
+#pragma option -a1
+#elif defined(__BORLANDC__) && defined(__WIN32__)
+#pragma option -a4
+#elif defined(__IBMC__)
+#pragma pack(4)
+#endif /* _MSC_VER && _WIN32 */
+
+/* The _MEM_ARRAY_SIZE size should be such that the size of the encDecVar
+ * field be equal or greater than that of the world->c structure */
+
+#ifdef __hp9000s300
+#define _MEM_ARRAY_SIZE 34
+#endif
+
+#ifdef __alpha
+#ifdef __osf__
+#define _MEM_ARRAY_SIZE 43
+#endif /* __osf__ */
+#endif /* __alpha */
+
+#ifdef _AIX
+#define _MEM_ARRAY_SIZE 52
+#endif
+#ifdef __hp9000s700
+#define _MEM_ARRAY_SIZE 60
+#endif
+
+#ifdef __NeXT__
+#define _MEM_ARRAY_SIZE 66
+#endif
+
+#ifdef VAXC
+#define _MEM_ARRAY_SIZE 78
+#endif
+
+#ifdef __TANDEM
+# ifdef __XMEM
+# ifdef __INT32
+# define _MEM_ARRAY_SIZE 83
+# else /* INT32 */
+# define _MEM_ARRAY_SIZE 84
+# endif /* INT32 */
+# else /* XMEM */
+# define _MEM_ARRAY_SIZE 136
+# endif /* XMEM */
+#endif /* TANDEM */
+
+#ifdef __mips
+# define _MEM_ARRAY_SIZE 70
+#endif /* __mips */
+
+#ifdef _FTX /* Stratus's Fault Tolerant Unix */
+#define _MEM_ARRAY_SIZE 92
+#endif
+#ifndef _MEM_ARRAY_SIZE
+#define _MEM_ARRAY_SIZE 80
+
+#endif
+
+typedef struct _mem_array_ {
+ short _used; /* Next available entry */
+ void *_entry[_MEM_ARRAY_SIZE]; /* Pointers to allocated
+ * memory */
+ struct _mem_array_ *_next; /* Pointer to additional mem_array */
+} _mem_array;
+#if defined(_WINDOWS) || defined(_WIN32)
+ /*
+ * This structure is used as a node to build a linked list of
+ * the addresses of the ossGlobal structures for each copy of
+ * the encoder/decoder run under Windows 3.1 to make the decoder
+ * reentrant when floating point errors occur (see globlist.c)
+ */
+struct globalInfo {
+ /*
+ * It is very important that "next" come first in "globalInfo".
+ * See globlist.c for more info about the code itself
+ */
+ struct globalInfo *next; /* pointer to the next node in the list */
+ struct globalInfo *prev; /* pointer to the previous node */
+ DWORD task; /* process id number */
+ DWORD thread;/* thread id number */
+ struct ossGlobal *world; /* pointer to "ossGlobal" for current task */
+};
+extern BOOL globlist(struct ossGlobal *, struct globalInfo *,
+ struct globalInfo **);
+extern BOOL serializeGlobalAccess(struct ossGlobal *, struct globalInfo *,
+ struct globalInfo **);
+extern struct globalInfo *sigworld;
+#else
+extern struct ossGlobal *sigworld;
+#endif /* _WINDOWS || _WIN32 */
+
+#ifndef _BOOL
+#define _BOOL
+typedef char _Bool;
+#endif
+
+#ifndef _OSSNOANSI
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+extern void *DLL_ENTRY _oss_enc_getmem(struct ossGlobal *g,_Bool _userbuf);
+extern void *DLL_ENTRY _oss_dec_getmem(struct ossGlobal *g,long _size,_Bool _userbuf);
+extern void DLL_ENTRY _oss_enc_push(struct ossGlobal *g,void *_p);
+extern void *DLL_ENTRY _oss_enc_pop(struct ossGlobal *g);
+extern void DLL_ENTRY _oss_freeMem(struct ossGlobal *g,_mem_array *_p);
+extern void DLL_ENTRY _oss_releaseMem(struct ossGlobal *g,_mem_array *_p);
+#define _oss_freeTempMem _oss_releaseMem
+extern void DLL_ENTRY _oss_set_outmem_d(struct ossGlobal *g, long _final_max_len,
+ long *_totalsize, char **_outbuf);
+extern void DLL_ENTRY _oss_set_outmem_i(struct ossGlobal *g,long _final_max_len,
+ long *_totalsize,char **_outbuf);
+extern void DLL_ENTRY _oss_set_outmem_p(struct ossGlobal *g,
+ long *_totalsize,char **_outbuf);
+extern void DLL_ENTRY _oss_set_outmem_pb(struct ossGlobal *g,
+ long *_totalsize, char **_outbuf, unsigned flags);
+extern void _oss_hdl_signal(int _signal);
+extern void DLL_ENTRY _oss_free_creal(struct ossGlobal *g, char *p);
+extern int DLL_ENTRY ossMinit(struct ossGlobal *g);
+#ifdef __cplusplus
+}
+#endif
+
+#else
+extern void *_oss_enc_getmem();
+extern void *_oss_dec_getmem();
+extern void _oss_enc_push();
+extern void *_oss_enc_pop();
+extern void _oss_freeMem();
+extern void _oss_releaseMem();
+#define _oss_freeTempMem _oss_releaseMem
+extern void _oss_set_outmem_d();
+extern void _oss_set_outmem_i();
+extern void _oss_set_outmem_p();
+extern void _oss_set_outmem_pb();
+extern void _oss_free_creal();
+
+extern void _oss_hdl_signal(); /* signal handler */
+
+#endif /* _OSSNOANSI */
+
+#if defined(_MSC_VER) && (defined(_WIN32) || defined(WIN32))
+#pragma pack(pop, ossPacking)
+#elif defined(_MSC_VER) && (defined(_WINDOWS) || defined(_MSDOS))
+#pragma pack()
+#elif defined(__BORLANDC__) && (defined(__WIN32__) || defined(__MSDOS__))
+#pragma option -a.
+#elif defined(__IBMC__)
+#pragma pack()
+#endif /* _MSC_VER && _WIN32 */
+