/* Copyright (C) 1994 - 2001 by Telelogic AB.
Copyright (C) 1991, 1992, 1993, 1994 by Telelogic Malmoe AB.
Copyright (C) 1990, 1991, 1999 by Telesoft Europe AB.
This Program is owned by Telelogic and is protected by national
copyright laws and international copyright treaties. Telelogic
grants you the right to use this Program on one computer or in
one local computer network at any one time.
Under this License you may only modify the source code for the purpose
of adapting it to your environment. You must reproduce and include
any copyright and trademark notices on all copies of the source code.
You may not use, copy, merge, modify or transfer the Program except as
provided in this License.
Telelogic does not warrant that the Program will meet your
requirements or that the operation of the Program will be
uninterrupted and error free. You are solely responsible that the
selection of the Program and the modification of the source code
will achieve your intended result and that the results are actually
obtained. */

#ifndef __cucf_cfg_h
#define __cucf_cfg_h

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <math.h>
#include <stdarg.h>
#include <string.h>
#include <limits.h>
#include <setjmp.h>

#ifdef USER_CONFIG
#include "sct_mcf.h"
#elif defined(CODER_AUTOMATIC_CONFIG)
#include "asn1_cfg.h"
#endif


#if !defined(CODER_REMOVE_SMALLBUF) && defined(CODER_BMS_USERBUF)
#define CODER_REMOVE_SMALLBUF
#endif

#if defined(CODER_USE_USERBUF) && defined(CODER_BMS_SMALLBUF)
#undef CODER_USE_USERBUF
#endif

#if !defined(CODER_VMS_SDT) && !defined(CODER_VMS_TTCN) && !defined(CODER_VMS_USER)
#define CODER_VMS_SDT
#endif

#ifdef CODER_VMS_SDT
#define CODER_VMS_VRTYPE
#endif

#if !defined(CODER_TI_NAMES) && (defined(CODER_VMS_TTCN) || defined(CODER_VMS_PRINT))
#define CODER_TI_NAMES
#endif



#ifdef CODER_VMS_SDT

#ifdef XNOUSEOFOCTETBITSTRING
#define CODER_NOUSE_BIT_STRING
#define CODER_NOUSE_OCTET_STRING
#endif

#ifdef XNOUSEOBJECTIDENTIFIER
#define CODER_NOUSE_OBJECT_IDENTIFIER
#endif

#ifdef XNOUSEOFREAL
#define CODER_NOUSE_REAL
#endif

#ifdef XNOUSEOFCHARSTRING
#define CODER_NOUSE_CHARACTER_STRING
#endif

#ifdef XNOUSE_STRUCT
#define CODER_NOUSE_SEQUENCE
#define CODER_NOUSE_SET
#endif

#ifdef XNOUSE_BAG_GENERATOR
#define CODER_NOUSE_SET_OF
#endif

#ifdef XNOUSE_CHOICE
#define CODER_NOUSE_CHOICE
#endif

#ifdef XNUM_TYPE
#define CODER_ENUMERATED_TYPE  XNUM_TYPE
#endif
#endif /* CODER_VMS_SDT */

#ifndef CODER_ENUMERATED_TYPE
#define CODER_ENUMERATED_TYPE  long
#endif

#ifndef CODER_TagNumber_TYPE
#define CODER_TagNumber_TYPE  unsigned long
#endif

#ifndef CODER_NumOf_TYPE
#define CODER_NumOf_TYPE  unsigned long
#endif

#ifndef CODER_INTEGER_LBOUND_TYPE
#define CODER_INTEGER_LBOUND_TYPE  long
#endif

#ifndef CODER_INTEGER_UBOUND_TYPE
#define CODER_INTEGER_UBOUND_TYPE  long
#endif

#ifndef CODER_SIZE_LBOUND_TYPE
#define CODER_SIZE_LBOUND_TYPE  unsigned long
#endif

#ifndef CODER_SIZE_UBOUND_TYPE
#define CODER_SIZE_UBOUND_TYPE  unsigned long
#endif

#if defined(CODER_REMOVE_PER) && !defined(CODER_VMS_PRINT) && (defined(CODER_CHECK_NONE) || defined(CODER_CHECK_NONE_VALUE))
#define CODER_REMOVE_CONSTRAINTS
#endif

#if defined(CODER_NOUSE_BIT_STRING) && defined(CODER_NOUSE_OCTET_STRING) && defined(CODER_NOUSE_CHARACTER_STRING)
#define CODER_NOUSE_STRINGS
#endif

#ifndef CODER_PATH_DEEP
#ifdef CODER_VMS_TTCN
#define CODER_PATH_DEEP  64
#else
#define CODER_PATH_DEEP 16
#endif
#endif


#endif /* __cucf_cfg_h */
