Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
regression-suites
Commits
e8b5e2b9
Commit
e8b5e2b9
authored
Jun 06, 2018
by
Thanassis Tsiodras
Browse files
Merge branch 'master' of
https://gitrepos.estec.esa.int/taste/regression-suites
parents
d1b85ea4
6784d11c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Demo_ABB/build-script.sh
View file @
e8b5e2b9
#!/bin/bash
#!/bin/bash
-e
# This script will build your TASTE system.
# You must check it before running it: it may need to be adapted to your context:
# 1) You may need to fix some paths and filenames (path to interface/deployment views)
# 2) You may need to specify additional paths for the compiler to find .h file
# (e.g. "export C_INCLUDE_PATH=/usr/include/xenomai/analogy/:$C_INCLUDE_PATH")
# 3) You may need to link with pre-built libraries, using the -l option
# (e.g. -l /usr/lib/libanalogy.a,/usr/lib/librtdm.a)
# 4) You may need to change the runtime (add -p flag to select PolyORB-HI-C)
# etc.
# You should not change this file as it was automatically generated.
# Note: TASTE will not overwrite your changes - if you need to update some parts
# you will have to merge the changes with the newly-created "build-script.new.sh" file.
# If you need additional preprocessing, there are three hook files
# that you can provide and that are called dring the build:
# user_init_pre.sh, user_init_post.sh and user_init_last.sh
# These files will never get overwritten by TASTE.'
# Inside these files you may set some environment variables:
# C_INCLUDE_PATH=/usr/include/xenomai/analogy/:${C_INCLUDE_PATH}
# unset USE_POHIC
CWD
=
$(
pwd
)
if
[
-t
1
]
;
then
COLORON
=
"
\e
[1m
\e
[32m"
COLOROFF
=
"
\e
[0m"
else
COLORON
=
""
COLOROFF
=
""
fi
INFO
=
"
${
COLORON
}
[INFO]
${
COLOROFF
}
"
if
[
-f
user_init_pre.sh
]
then
echo
-e
"
${
INFO
}
Executing user-defined init script"
source
user_init_pre.sh
fi
# Set up the cache to limit the calls to ASN1SCC in DMT tools
mkdir
-p
.cache
export
PROJECT_CACHE
=
$(
pwd
)
/.cache
rm
-f
lift_model.zip
zip lift_model lift_model/
*
[
!
-z
"
$CLEANUP
"
]
&&
rm
-rf
binary
# Use PolyORB-HI-C runtime
USE_POHIC
=
1
# Set Debug mode by default
DEBUG_MODE
=
--debug
# Detect models from Ellidiss tools v2, and convert them to 1.3
INTERFACEVIEW
=
InterfaceView.aadl
grep
"version =>
\"
2"
InterfaceView.aadl
>
/dev/null
&&
{
echo
-e
"
${
INFO
}
Converting interface view from V2 to V1.3"
TASTE
--load-interface-view
InterfaceView.aadl
--export-interface-view-to-1_3
__iv_1_3.aadl
INTERFACEVIEW
=
__iv_1_3.aadl
}
;
if
[
-z
"
$DEPLOYMENTVIEW
"
]
then
DEPLOYMENTVIEW
=
DeploymentView.aadl
fi
# Detect models from Ellidiss tools v2, and convert them to 1.3
grep
"version =>
\"
2"
"
$DEPLOYMENTVIEW
"
>
/dev/null
&&
{
echo
-e
"
${
INFO
}
Converting deployment view from V2 to V1.3"
TASTE
--load-deployment-view
"
$DEPLOYMENTVIEW
"
--export-deployment-view-to-1_3
__dv_1_3.aadl
DEPLOYMENTVIEW
=
__dv_1_3.aadl
}
;
SKELS
=
"./"
echo
Building the system with the Ada runtime
assert-builder-ocarina.py
\
-f
-p
-g
\
# Check if Dataview references existing files
mono
$(
which taste-extract-asn-from-design.exe
)
-i
"
$INTERFACEVIEW
"
-j
/tmp/dv.asn
cd
"
$SKELS
"
&&
rm
-f
lift_model.zip
&&
zip lift_model lift_model/
*
&&
cd
$OLDPWD
[
!
-z
"
$CLEANUP
"
]
&&
rm
-rf
binary
*
if
[
-f
ConcurrencyView.pro
]
then
ORCHESTRATOR_OPTIONS+
=
" -w ConcurrencyView.pro "
elif
[
-f
ConcurrencyView_Properties.aadl
]
then
ORCHESTRATOR_OPTIONS+
=
" -w ConcurrencyView_Properties.aadl "
fi
if
[
-f
user_init_post.sh
]
then
echo
-e
"
${
INFO
}
Executing user-defined post-init script"
source
user_init_post.sh
fi
if
[
-f
additionalCommands.sh
]
then
source
additionalCommands.sh
fi
if
[
!
-z
"
$USE_POHIC
"
]
then
OUTPUTDIR
=
binary.c
ORCHESTRATOR_OPTIONS+
=
" -p "
elif
[
!
-z
"
$USE_POHIADA
"
]
then
OUTPUTDIR
=
binary.ada
else
OUTPUTDIR
=
binary
fi
cd
"
$CWD
"
&&
assert-builder-ocarina.py
\
--fast
\
$DEBUG_MODE
\
--aadlv2
\
--keep-case
\
--interfaceView
InterfaceView.aadl
\
--deploymentView
DeploymentView.aadl
\
-o
binary
\
--subRTDS
controller:controller/controller.zip
\
--subSIMULINK
lift_model:lift_model.zip
--interfaceView
"
$INTERFACEVIEW
"
\
--deploymentView
"
$DEPLOYMENTVIEW
"
\
-o
"
$OUTPUTDIR
"
\
--subRTDS
controller:
"
$SKELS
"
/controller/controller.zip
\
--subSIMULINK
lift_model:
"
$SKELS
"
/lift_model.zip
\
$ORCHESTRATOR_OPTIONS
if
[
-f
user_init_last.sh
]
then
echo
-e
"
${
INFO
}
Executing user-defined post-build script"
source
user_init_last.sh
fi
Demo_ACN/a/dataview/asn1crt.h
deleted
100644 → 0
View file @
d1b85ea4
#ifndef _INC_PER_UTIL_H
#define _INC_PER_UTIL_H
#ifndef _MSC_VER
#include
<stdbool.h>
#endif
#ifdef __cplusplus
extern
"C"
{
#endif
#ifndef NULL
#define NULL 0
#endif
#ifndef TRUE
#ifdef _MSC_VER
#define TRUE 1
#else
#define TRUE true
#endif
#endif
#ifndef FALSE
#ifdef _MSC_VER
#define FALSE 0
#else
#define FALSE false
#endif
#endif
#ifndef WORD_SIZE
#define WORD_SIZE 8
#endif
typedef
int
asn1SccSint32
;
typedef
unsigned
int
asn1SccUint32
;
typedef
unsigned
char
byte
;
#if WORD_SIZE==8
typedef
long
long
asn1SccSint64
;
typedef
unsigned
long
long
asn1SccUint64
;
typedef
asn1SccUint64
asn1SccUint
;
typedef
asn1SccSint64
asn1SccSint
;
#else
typedef
asn1SccUint32
asn1SccUint
;
typedef
asn1SccSint32
asn1SccSint
;
#endif
#ifdef _MSC_VER
typedef
unsigned
char
flag
;
#else
typedef
bool
flag
;
#endif
typedef
char
NullType
;
typedef
struct
{
byte
*
buf
;
long
count
;
long
currentByte
;
/* Next available bit for writting. Possible vallues 0..7, 0 is most significant bit of current byte*/
int
currentBit
;
}
BitStream
;
typedef
struct
{
byte
*
buf
;
long
count
;
long
currentByte
;
flag
EncodeWhiteSpace
;
}
ByteStream
;
typedef
struct
{
int
TokenID
;
char
Value
[
100
];
}
Token
;
typedef
struct
{
char
Name
[
50
];
char
Value
[
100
];
}
XmlAttribute
;
typedef
struct
{
XmlAttribute
attrs
[
20
];
int
nCount
;
}
XmlAttributeArray
;
#define ERR_INSUFFICIENT_DATA 101
#define ERR_INCORRECT_PER_STREAM 102
#define ERR_INVALID_CHOICE_ALTERNATIVE 103
#define ERR_INVALID_ENUM_VALUE 104
#define ERR_INVALID_XML_FILE 200
#define ERR_INVALID_BER_FILE 201
#define ERR_BER_LENGTH_MISMATCH 202
/* Bit strean functions */
void
BitStream_Init
(
BitStream
*
pBitStrm
,
unsigned
char
*
buf
,
long
count
);
void
BitStream_AttachBuffer
(
BitStream
*
pBitStrm
,
unsigned
char
*
buf
,
long
count
);
void
BitStream_AppendBit
(
BitStream
*
pBitStrm
,
flag
v
);
void
BitStream_AppendBits
(
BitStream
*
pBitStrm
,
const
byte
*
srcBuffer
,
int
nBitsToWrite
);
void
BitStream_AppendByte
(
BitStream
*
pBitStrm
,
byte
v
,
flag
negate
);
void
BitStream_AppendByte0
(
BitStream
*
pBitStrm
,
byte
v
);
void
ByteStream_Init
(
ByteStream
*
pStrm
,
byte
*
buf
,
long
count
);
void
ByteStream_AttachBuffer
(
ByteStream
*
pStrm
,
unsigned
char
*
buf
,
long
count
);
asn1SccSint
ByteStream_GetLength
(
ByteStream
*
pStrm
);
asn1SccSint
BitStream_GetLength
(
BitStream
*
pBitStrm
);
void
BitStream_AppendBitOne
(
BitStream
*
pBitStrm
);
void
BitStream_AppendBitZero
(
BitStream
*
pBitStrm
);
flag
BitStream_ReadBit
(
BitStream
*
pBitStrm
,
flag
*
v
);
flag
BitStream_ReadBits
(
BitStream
*
pBitStrm
,
byte
*
BuffToWrite
,
int
nBitsToRead
);
flag
BitStream_ReadByte
(
BitStream
*
pBitStrm
,
byte
*
v
);
/* Integer functions */
void
BitStream_EncodeUnConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
v
);
void
BitStream_EncodeSemiConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
v
,
asn1SccSint
min
);
void
BitStream_EncodeConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
v
,
asn1SccSint
min
,
asn1SccSint
max
);
flag
BitStream_DecodeUnConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
*
v
);
flag
BitStream_DecodeSemiConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
*
v
,
asn1SccSint
min
);
flag
BitStream_DecodeConstraintWholeNumber
(
BitStream
*
pBitStrm
,
asn1SccSint
*
v
,
asn1SccSint
min
,
asn1SccSint
max
);
void
BitStream_EncodeReal
(
BitStream
*
pBitStrm
,
double
v
);
flag
BitStream_DecodeReal
(
BitStream
*
pBitStrm
,
double
*
v
);
void
CalculateMantissaAndExponent
(
double
d
,
int
*
exp
,
asn1SccUint
*
mantissa
);
double
GetDoubleByMantissaAndExp
(
asn1SccUint
mantissa
,
int
exp
);
int
GetNumberOfBitsForNonNegativeInteger
(
asn1SccUint
v
);
int
GetCharIndex
(
char
ch
,
byte
allowedCharSet
[],
int
setLen
);
/*
db ,ad8888ba, 888b 88 88888888888 88
d88b d8"' `"8b 8888b 88 88 ,d ""
d8'`8b d8' 88 `8b 88 88 88
d8' `8b 88 88 `8b 88 88aaaaa 88 88 8b,dPPYba, ,adPPYba, MM88MMM 88 ,adPPYba, 8b,dPPYba, ,adPPYba,
d8YaaaaY8b 88 88 `8b 88 88""""" 88 88 88P' `"8a a8" "" 88 88 a8" "8a 88P' `"8a I8[ ""
d8""""""""8b Y8, 88 `8b 88 88 88 88 88 88 8b 88 88 8b d8 88 88 `"Y8ba,
d8' `8b Y8a. .a8P 88 `8888 88 "8a, ,a88 88 88 "8a, ,aa 88, 88 "8a, ,a8" 88 88 aa ]8I
d8' `8b `"Y8888Y"' 88 `888 88 `"YbbdP'Y8 88 88 `"Ybbd8"' "Y888 88 `"YbbdP"' 88 88 `"YbbdP"
*/
void
Acn_AlignToNextByte
(
BitStream
*
pBitStrm
);
void
Acn_AlignToNextWord
(
BitStream
*
pBitStrm
);
void
Acn_AlignToNextDWord
(
BitStream
*
pBitStrm
);
/*ACN Integer functions*/
void
Acn_Enc_Int_PositiveInteger_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
,
int
encodedSizeInBits
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_PositiveInteger_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_PositiveInteger_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
,
int
encodedSizeInBits
);
void
Acn_Enc_Int_TwosComplement_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_TwosComplement_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_BCD_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
,
int
encodedSizeInNibbles
);
void
Acn_Enc_Int_BCD_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_BCD_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
//encoding ends when 'F' is reached
void
Acn_Enc_Int_ASCII_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
,
int
encodedSizeInBytes
);
void
Acn_Enc_Int_ASCII_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
void
Acn_Enc_Int_ASCII_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccSint
intVal
);
//encoding ends when 0x0 is reached
/*ACN Decode Integer functions*/
flag
Acn_Dec_Int_PositiveInteger_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
,
int
encodedSizeInBits
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_PositiveInteger_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
,
int
encodedSizeInBits
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_8
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_big_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_big_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_big_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_little_endian_16
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_little_endian_32
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_ConstSize_little_endian_64
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_TwosComplement_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_BCD_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
,
int
encodedSizeInNibbles
);
flag
Acn_Dec_Int_BCD_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
//encoding ends when 'F' is reached
flag
Acn_Dec_Int_BCD_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_ASCII_ConstSize
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
,
int
encodedSizeInBytes
);
flag
Acn_Dec_Int_ASCII_VarSize_LengthEmbedded
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
flag
Acn_Dec_Int_ASCII_VarSize_NullTerminated
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pIntVal
);
//flag Acn_Dec_Int_ASCII_NullTerminated_FormattedInteger(BitStream* pBitStrm, const char* format, asn1SccSint* pIntVal);
/* Boolean Decode */
flag
BitStream_ReadBitPattern
(
BitStream
*
pBitStrm
,
const
byte
*
patternToRead
,
int
nBitsToRead
,
flag
*
pBoolValue
);
/*Real encoding functions*/
void
Acn_Enc_Real_IEEE754_32_big_endian
(
BitStream
*
pBitStrm
,
double
realValue
);
void
Acn_Enc_Real_IEEE754_64_big_endian
(
BitStream
*
pBitStrm
,
double
realValue
);
void
Acn_Enc_Real_IEEE754_32_little_endian
(
BitStream
*
pBitStrm
,
double
realValue
);
void
Acn_Enc_Real_IEEE754_64_little_endian
(
BitStream
*
pBitStrm
,
double
realValue
);
flag
Acn_Dec_Real_IEEE754_32_big_endian
(
BitStream
*
pBitStrm
,
double
*
pRealValue
);
flag
Acn_Dec_Real_IEEE754_64_big_endian
(
BitStream
*
pBitStrm
,
double
*
pRealValue
);
flag
Acn_Dec_Real_IEEE754_32_little_endian
(
BitStream
*
pBitStrm
,
double
*
pRealValue
);
flag
Acn_Dec_Real_IEEE754_64_little_endian
(
BitStream
*
pBitStrm
,
double
*
pRealValue
);
/* Length Determinant functions*/
void
Acn_Enc_Length
(
BitStream
*
pBitStrm
,
asn1SccSint
lengthValue
,
int
lengthSizeInBits
);
flag
Acn_Dec_Length
(
BitStream
*
pBitStrm
,
asn1SccSint
*
pLengthValue
,
int
lengthSizeInBits
);
void
BitStream_AppendNBitZero
(
BitStream
*
pBitStrm
,
int
nbits
);
void
BitStream_EncodeNonNegativeInteger
(
BitStream
*
pBitStrm
,
asn1SccUint
v
);
void
BitStream_AppendNBitOne
(
BitStream
*
pBitStrm
,
int
nbits
);
void
BitStream_EncodeNonNegativeIntegerNeg
(
BitStream
*
pBitStrm
,
asn1SccUint
v
,
flag
negate
);
flag
BitStream_DecodeNonNegativeInteger
(
BitStream
*
pBitStrm
,
asn1SccUint
*
v
,
int
nBits
);
flag
BitStream_ReadPartialByte
(
BitStream
*
pBitStrm
,
byte
*
v
,
byte
nbits
);
void
BitStream_AppendPartialByte
(
BitStream
*
pBitStrm
,
byte
v
,
byte
nbits
,
flag
negate
);
void
Xer_EncodeXmlHeader
(
ByteStream
*
pByteStrm
,
const
char
*
xmlHeader
);
flag
Xer_EncodeComment
(
ByteStream
*
pByteStrm
,
const
char
*
comment
,
int
*
pErrCode
);
flag
Xer_EncodeInteger
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
asn1SccSint
value
,
int
*
pErrCode
,
int
level
);
flag
Xer_EncodeBoolean
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
flag
value
,
int
*
pErrCode
,
int
level
);
flag
Xer_EncodeEnumerated
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
const
char
*
value
,
int
*
pErrCode
,
int
level
);
flag
Xer_EncodeReal
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
double
value
,
int
*
pErrCode
,
int
level
);
flag
Xer_EncodeString
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
const
char
*
value
,
int
*
pErrCode
,
int
level
);
flag
Xer_EncodeOctetString
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
const
byte
value
[],
int
nCount
,
int
*
pErrCode
,
int
level
);
flag
Xer_EncodeBitString
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
const
byte
value
[],
int
nCount
,
int
*
pErrCode
,
int
level
);
flag
Xer_DecodeInteger
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
asn1SccSint
*
value
,
int
*
pErrCode
);
flag
Xer_DecodeBoolean
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
flag
*
value
,
int
*
pErrCode
);
flag
Xer_DecodeEnumerated
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
char
*
value
,
int
*
pErrCode
);
flag
Xer_DecodeReal
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
double
*
value
,
int
*
pErrCode
);
flag
Xer_DecodeString
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
char
*
value
,
int
*
pErrCode
);
flag
Xer_DecodeOctetString
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
byte
value
[],
long
*
nCount
,
int
*
pErrCode
);
flag
Xer_DecodeBitString
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
byte
value
[],
long
*
nCount
,
int
*
pErrCode
);
flag
Xer_EncodeComplexElementStart
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
XmlAttributeArray
*
pAttrs
,
int
*
pErrCode
,
int
level
);
flag
Xer_EncodeComplexElementEnd
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
int
*
pErrCode
,
int
level
);
flag
Xer_DecodeComplexElementStart
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
XmlAttributeArray
*
pAttrs
,
int
*
pErrCode
);
flag
Xer_DecodeComplexElementEnd
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
,
int
*
pErrCode
);
flag
Xer_NextEndElementIs
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
);
flag
Xer_NextStartElementIs
(
ByteStream
*
pByteStrm
,
const
char
*
elementTag
);
flag
Xer_LA_NextElementTag
(
ByteStream
*
pByteStrm
,
char
*
elementTag
);
flag
LoadXmlFile
(
const
char
*
fileName
,
ByteStream
*
pStrm
,
int
*
nBytesLoaded
);
typedef
asn1SccUint
BerTag
;
flag
BerEncodeTag
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
int
*
pErrCode
);
flag
BerDecodeTag
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
int
*
pErrCode
);
flag
BerEncodeLengthStart
(
ByteStream
*
pByteStrm
,
int
*
pErrCode
);
flag
BerEncodeLengthEnd
(
ByteStream
*
pByteStrm
,
int
*
pErrCode
);
flag
BerDecodeLength
(
ByteStream
*
pByteStrm
,
int
*
value
,
int
*
pErrCode
);
flag
BerDecodeTwoZeroes
(
ByteStream
*
pByteStrm
,
int
*
pErrCode
);
flag
BerEncodeInteger
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
asn1SccSint
value
,
int
*
pErrCode
);
flag
BerDecodeInteger
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
asn1SccSint
*
value
,
int
*
pErrCode
);
flag
BerEncodeBoolean
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
flag
value
,
int
*
pErrCode
);
flag
BerDecodeBoolean
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
flag
*
value
,
int
*
pErrCode
);
flag
BerEncodeReal
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
double
value
,
int
*
pErrCode
);
flag
BerDecodeReal
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
double
*
value
,
int
*
pErrCode
);
flag
BerEncodeIA5String
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
const
char
*
value
,
int
length
,
int
*
pErrCode
);
flag
BerDecodeIA5String
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
char
*
value
,
int
maxLength
,
int
*
pErrCode
);
flag
BerEncodeNull
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
int
*
pErrCode
);
flag
BerDecodeNull
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
int
*
pErrCode
);
flag
BerEncodeBitString
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
const
byte
*
value
,
int
bitCount
,
int
*
pErrCode
);
flag
BerDecodeBitString
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
byte
*
value
,
int
*
bitCount
,
int
maxBitCount
,
int
*
pErrCode
);
flag
BerEncodeOctetString
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
const
byte
*
value
,
int
octCount
,
int
*
pErrCode
);
flag
BerDecodeOctetString
(
ByteStream
*
pByteStrm
,
BerTag
tag
,
byte
*
value
,
int
*
octCount
,
int
maxOctCount
,
int
*
pErrCode
);
flag
NextTagMatches
(
ByteStream
*
pByteStrm
,
BerTag
tag
);
int
GetStrmPos
(
ByteStream
*
pByteStrm
);
flag
LA_Next_Two_Bytes_00
(
ByteStream
*
pByteStrm
);
#define CHECK_BIT_STREAM(pBitStrm) assert((pBitStrm)->currentByte*8+(pBitStrm)->currentBit<=(pBitStrm)->count*8)
#ifdef _MSC_VER
#pragma warning( disable : 4127)
#endif
#define ASSERT_OR_RETURN_FALSE(_Expression) do { assert(_Expression); if (!(_Expression)) return FALSE;} while(0)
#ifdef __cplusplus
}
#endif
#endif
Demo_ACN/a/dataview/dataview-uniq.h
deleted
100644 → 0
View file @
d1b85ea4
#ifndef _INC_DATAVIEW_UNIQ_H
#define _INC_DATAVIEW_UNIQ_H
/*
Code automatically generated by asn1scc tool
*/
#include
"asn1crt.h"
#ifdef __cplusplus
extern
"C"
{
#endif
typedef
asn1SccSint
asn1SccT_POS_first_choice
;
#define asn1SccT_POS_first_choice_REQUIRED_BYTES_FOR_ENCODING 1
#define asn1SccT_POS_first_choice_REQUIRED_BITS_FOR_ENCODING 4
#define asn1SccT_POS_first_choice_REQUIRED_BYTES_FOR_ACN_ENCODING 1
#define asn1SccT_POS_first_choice_REQUIRED_BITS_FOR_ACN_ENCODING 4
#define asn1SccT_POS_first_choice_REQUIRED_BYTES_FOR_XER_ENCODING 61
void
asn1SccT_POS_first_choice_Initialize
(
asn1SccT_POS_first_choice
*
pVal
);
flag
asn1SccT_POS_first_choice_IsConstraintValid
(
const
asn1SccT_POS_first_choice
*
val
,
int
*
pErrCode
);
flag
asn1SccT_POS_first_choice_Encode
(
const
asn1SccT_POS_first_choice
*
val
,
BitStream
*
pBitStrm
,
int
*
pErrCode
,
flag
bCheckConstraints
);
flag
asn1SccT_POS_first_choice_Decode
(
asn1SccT_POS_first_choice
*
pVal
,
BitStream
*
pBitStrm
,
int
*
pErrCode
);
#ifndef ERR_asn1SccT_POS_first_choice
#define ERR_asn1SccT_POS_first_choice 1001
/*(0 .. 10)*/
#endif
typedef
asn1SccSint
asn1SccT_POS_second_choice_intVal
;
#define asn1SccT_POS_second_choice_intVal_REQUIRED_BYTES_FOR_ENCODING 1
#define asn1SccT_POS_second_choice_intVal_REQUIRED_BITS_FOR_ENCODING 5
#define asn1SccT_POS_second_choice_intVal_REQUIRED_BYTES_FOR_ACN_ENCODING 1
#define asn1SccT_POS_second_choice_intVal_REQUIRED_BITS_FOR_ACN_ENCODING 5
#define asn1SccT_POS_second_choice_intVal_REQUIRED_BYTES_FOR_XER_ENCODING 77
void
asn1SccT_POS_second_choice_intVal_Initialize
(
asn1SccT_POS_second_choice_intVal
*
pVal
);
flag
asn1SccT_POS_second_choice_intVal_IsConstraintValid
(
const
asn1SccT_POS_second_choice_intVal
*
val
,
int
*
pErrCode
);
flag
asn1SccT_POS_second_choice_intVal_Encode
(
const
asn1SccT_POS_second_choice_intVal
*
val
,
BitStream
*
pBitStrm
,
int
*
pErrCode
,
flag
bCheckConstraints
);
flag
asn1SccT_POS_second_choice_intVal_Decode
(
asn1SccT_POS_second_choice_intVal
*
pVal
,
BitStream
*
pBitStrm
,
int
*
pErrCode
);
#ifndef ERR_asn1SccT_POS_second_choice_intVal
#define ERR_asn1SccT_POS_second_choice_intVal 1002
/*(-10 .. 10)*/
#endif
typedef
struct
{
asn1SccT_POS_second_choice_intVal
intVal
;
flag
boolVal
;
}
asn1SccT_POS_second_choice
;
#define asn1SccT_POS_second_choice_REQUIRED_BYTES_FOR_ENCODING 1
#define asn1SccT_POS_second_choice_REQUIRED_BITS_FOR_ENCODING 6
#define asn1SccT_POS_second_choice_REQUIRED_BYTES_FOR_ACN_ENCODING 1
#define asn1SccT_POS_second_choice_REQUIRED_BITS_FOR_ACN_ENCODING 6
#define asn1SccT_POS_second_choice_REQUIRED_BYTES_FOR_XER_ENCODING 112
void
asn1SccT_POS_second_choice_Initialize
(
asn1SccT_POS_second_choice
*
pVal
);
flag
asn1SccT_POS_second_choice_IsConstraintValid
(
const
asn1SccT_POS_second_choice
*
val
,
int
*
pErrCode
);
flag
asn1SccT_POS_second_choice_Encode
(
const
asn1SccT_POS_second_choice
*
val
,
BitStream
*
pBitStrm
,
int
*
pErrCode
,
flag
bCheckConstraints
);
flag
asn1SccT_POS_second_choice_Decode
(
asn1SccT_POS_second_choice
*
pVal
,
BitStream
*
pBitStrm
,
int
*
pErrCode
);
typedef
struct
{
enum
{
T_POS_NONE
,
first_choice_PRESENT
,
second_choice_PRESENT
}
kind
;
union
{
asn1SccT_POS_first_choice
first_choice
;
asn1SccT_POS_second_choice
second_choice
;
}
u
;
}
asn1SccT_POS
;
#define asn1SccT_POS_REQUIRED_BYTES_FOR_ENCODING 1
#define asn1SccT_POS_REQUIRED_BITS_FOR_ENCODING 8
#define asn1SccT_POS_REQUIRED_BYTES_FOR_ACN_ENCODING 1
#define asn1SccT_POS_REQUIRED_BITS_FOR_ACN_ENCODING 8
#define asn1SccT_POS_REQUIRED_BYTES_FOR_XER_ENCODING 115
void
asn1SccT_POS_Initialize
(
asn1SccT_POS
*
pVal
);
flag
asn1SccT_POS_IsConstraintValid
(
const
asn1SccT_POS
*
val
,
int
*
pErrCode
);
flag
asn1SccT_POS_Encode
(
const
asn1SccT_POS
*
val
,
BitStream
*
pBitStrm
,
int
*
pErrCode
,
flag
bCheckConstraints
);
flag
asn1SccT_POS_Decode
(
asn1SccT_POS
*
pVal
,
BitStream
*
pBitStrm
,
int
*
pErrCode
);
#ifndef ERR_asn1SccT_POS_unknown_choice_index
#define ERR_asn1SccT_POS_unknown_choice_index 1003
/**/
#endif
#ifdef __cplusplus
}
#define CHOICE_first_choice_PRESENT asn1SccT_POS::first_choice_PRESENT
#define CHOICE_second_choice_PRESENT asn1SccT_POS::second_choice_PRESENT
#endif
#endif
Demo_ACN/b/dataview/asn1crt.h
deleted
100644 → 0
View file @
d1b85ea4
#ifndef _INC_PER_UTIL_H
#define _INC_PER_UTIL_H
#ifndef _MSC_VER
#include
<stdbool.h>
#endif