git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@868 59561ff5-6e30-0410-9f3c-9617f08c8826
This commit is contained in:
vlm 2005-04-13 13:22:31 +00:00
parent 318bc270be
commit df9d0beda3
3 changed files with 530 additions and 0 deletions

View File

@ -12,3 +12,6 @@ To compile the files using asn1c, try
1. The ./sample.source.PKIX1 directory contains the X.509 Certificate decoder.
2. The ./sample.source.TAP3 directory contains the GSM TAP3 decoder. Please
read the README file in that directory first.
3. The ./sample.source.MHEG5 directory contains the decoder for
ISO 13522 MHEG-5/ITU-T T.172 (Multimedia Hypermedia Experts Group,
Multimedia Presentations).

View File

@ -0,0 +1,479 @@
ASN_MODULE_SOURCES= \
InterchangedObject.c \
RootClass.c \
GroupClass.c \
StandardIdentifier.c \
GroupItem.c \
ApplicationClass.c \
DefaultAttribute.c \
FontBody.c \
SceneClass.c \
SceneCoordinateSystem.c \
AspectRatio.c \
NextScene.c \
IngredientClass.c \
ContentBody.c \
ReferencedContent.c \
LinkClass.c \
LinkCondition.c \
EventType.c \
EventData.c \
ProgramClass.c \
ResidentProgramClass.c \
RemoteProgramClass.c \
InterchangedProgramClass.c \
PaletteClass.c \
FontClass.c \
CursorShapeClass.c \
VariableClass.c \
OriginalValue.c \
BooleanVariableClass.c \
IntegerVariableClass.c \
OctetStringVariableClass.c \
ObjectRefVariableClass.c \
ContentRefVariableClass.c \
PresentableClass.c \
TokenManagerClass.c \
Movement.c \
TokenGroupClass.c \
TokenGroupItem.c \
ActionSlot.c \
ListGroupClass.c \
VisibleClass.c \
OriginalBoxSize.c \
BitmapClass.c \
LineArtClass.c \
RectangleClass.c \
DynamicLineArtClass.c \
TextClass.c \
Justification.c \
LineOrientation.c \
StartCorner.c \
StreamClass.c \
StreamComponent.c \
Storage.c \
AudioClass.c \
VideoClass.c \
Termination.c \
RTGraphicsClass.c \
InteractibleClass.c \
SliderClass.c \
Orientation.c \
SliderStyle.c \
EntryFieldClass.c \
InputType.c \
HyperTextClass.c \
ButtonClass.c \
HotspotClass.c \
PushButtonClass.c \
SwitchButtonClass.c \
ButtonStyle.c \
ActionClass.c \
ElementaryAction.c \
Add.c \
AddItem.c \
Append.c \
Call.c \
CallActionSlot.c \
Clone.c \
CloseConnection.c \
DelItem.c \
DeselectItem.c \
Divide.c \
DrawArc.c \
DrawLine.c \
DrawOval.c \
DrawPolygon.c \
DrawPolyline.c \
DrawRectangle.c \
DrawSector.c \
Fork.c \
GetAvailabilityStatus.c \
GetBoxSize.c \
GetCellItem.c \
GetCursorPosition.c \
GetEngineSupport.c \
GetEntryPoint.c \
GetFillColour.c \
GetFirstItem.c \
GetHighlightStatus.c \
GetInteractionStatus.c \
GetItemStatus.c \
GetLabel.c \
GetLastAnchorFired.c \
GetLineColour.c \
GetLineStyle.c \
GetLineWidth.c \
GetListItem.c \
GetListSize.c \
GetOverwriteMode.c \
GetPortion.c \
GetPosition.c \
GetRunningStatus.c \
GetSelectionStatus.c \
GetSliderValue.c \
GetTextContent.c \
GetTextData.c \
GetTokenPosition.c \
GetVolume.c \
Modulo.c \
Move.c \
MoveTo.c \
Multiply.c \
OpenConnection.c \
PutBefore.c \
PutBehind.c \
ReadPersistent.c \
ScaleBitmap.c \
ScaleVideo.c \
ScrollItems.c \
SelectItem.c \
SendEvent.c \
SetBoxSize.c \
SetCachePriority.c \
SetCounterEndPosition.c \
SetCounterPosition.c \
SetCounterTrigger.c \
SetCursorPosition.c \
SetCursorShape.c \
SetData.c \
SetEntryPoint.c \
SetFillColour.c \
SetFirstItem.c \
SetFontRef.c \
SetHighlightStatus.c \
SetInteractionStatus.c \
SetLabel.c \
SetLineColour.c \
SetLineStyle.c \
SetLineWidth.c \
SetOverwriteMode.c \
SetPaletteRef.c \
SetPortion.c \
SetPosition.c \
SetSliderValue.c \
SetSpeed.c \
SetTimer.c \
NewTimer.c \
SetTransparency.c \
SetVariable.c \
SetVolume.c \
Step.c \
StorePersistent.c \
Subtract.c \
TestVariable.c \
ToggleItem.c \
TransitionTo.c \
ConnectionTagOrNull.c \
ComparisonValue.c \
EmulatedEventData.c \
NewColour.c \
NewContent.c \
NewFont.c \
NewReferencedContent.c \
NewContentSize.c \
NewVariableValue.c \
Parameter.c \
Point.c \
Rational.c \
ObjectReference.c \
ExternalReference.c \
IndirectReference.c \
ContentReference.c \
GenericObjectReference.c \
GenericContentReference.c \
GenericInteger.c \
GenericBoolean.c \
GenericOctetString.c \
Colour.c \
XYPosition.c
ASN_MODULE_HEADERS= \
InterchangedObject.h \
RootClass.h \
GroupClass.h \
StandardIdentifier.h \
GroupItem.h \
ApplicationClass.h \
DefaultAttribute.h \
FontBody.h \
SceneClass.h \
SceneCoordinateSystem.h \
AspectRatio.h \
NextScene.h \
IngredientClass.h \
ContentBody.h \
ReferencedContent.h \
LinkClass.h \
LinkCondition.h \
EventType.h \
EventData.h \
ProgramClass.h \
ResidentProgramClass.h \
RemoteProgramClass.h \
InterchangedProgramClass.h \
PaletteClass.h \
FontClass.h \
CursorShapeClass.h \
VariableClass.h \
OriginalValue.h \
BooleanVariableClass.h \
IntegerVariableClass.h \
OctetStringVariableClass.h \
ObjectRefVariableClass.h \
ContentRefVariableClass.h \
PresentableClass.h \
TokenManagerClass.h \
Movement.h \
TokenGroupClass.h \
TokenGroupItem.h \
ActionSlot.h \
ListGroupClass.h \
VisibleClass.h \
OriginalBoxSize.h \
BitmapClass.h \
LineArtClass.h \
RectangleClass.h \
DynamicLineArtClass.h \
TextClass.h \
Justification.h \
LineOrientation.h \
StartCorner.h \
StreamClass.h \
StreamComponent.h \
Storage.h \
AudioClass.h \
VideoClass.h \
Termination.h \
RTGraphicsClass.h \
InteractibleClass.h \
SliderClass.h \
Orientation.h \
SliderStyle.h \
EntryFieldClass.h \
InputType.h \
HyperTextClass.h \
ButtonClass.h \
HotspotClass.h \
PushButtonClass.h \
SwitchButtonClass.h \
ButtonStyle.h \
ActionClass.h \
ElementaryAction.h \
Add.h \
AddItem.h \
Append.h \
Call.h \
CallActionSlot.h \
Clone.h \
CloseConnection.h \
DelItem.h \
DeselectItem.h \
Divide.h \
DrawArc.h \
DrawLine.h \
DrawOval.h \
DrawPolygon.h \
DrawPolyline.h \
DrawRectangle.h \
DrawSector.h \
Fork.h \
GetAvailabilityStatus.h \
GetBoxSize.h \
GetCellItem.h \
GetCursorPosition.h \
GetEngineSupport.h \
GetEntryPoint.h \
GetFillColour.h \
GetFirstItem.h \
GetHighlightStatus.h \
GetInteractionStatus.h \
GetItemStatus.h \
GetLabel.h \
GetLastAnchorFired.h \
GetLineColour.h \
GetLineStyle.h \
GetLineWidth.h \
GetListItem.h \
GetListSize.h \
GetOverwriteMode.h \
GetPortion.h \
GetPosition.h \
GetRunningStatus.h \
GetSelectionStatus.h \
GetSliderValue.h \
GetTextContent.h \
GetTextData.h \
GetTokenPosition.h \
GetVolume.h \
Modulo.h \
Move.h \
MoveTo.h \
Multiply.h \
OpenConnection.h \
PutBefore.h \
PutBehind.h \
ReadPersistent.h \
ScaleBitmap.h \
ScaleVideo.h \
ScrollItems.h \
SelectItem.h \
SendEvent.h \
SetBoxSize.h \
SetCachePriority.h \
SetCounterEndPosition.h \
SetCounterPosition.h \
SetCounterTrigger.h \
SetCursorPosition.h \
SetCursorShape.h \
SetData.h \
SetEntryPoint.h \
SetFillColour.h \
SetFirstItem.h \
SetFontRef.h \
SetHighlightStatus.h \
SetInteractionStatus.h \
SetLabel.h \
SetLineColour.h \
SetLineStyle.h \
SetLineWidth.h \
SetOverwriteMode.h \
SetPaletteRef.h \
SetPortion.h \
SetPosition.h \
SetSliderValue.h \
SetSpeed.h \
SetTimer.h \
NewTimer.h \
SetTransparency.h \
SetVariable.h \
SetVolume.h \
Step.h \
StorePersistent.h \
Subtract.h \
TestVariable.h \
ToggleItem.h \
TransitionTo.h \
ConnectionTagOrNull.h \
ComparisonValue.h \
EmulatedEventData.h \
NewColour.h \
NewContent.h \
NewFont.h \
NewReferencedContent.h \
NewContentSize.h \
NewVariableValue.h \
Parameter.h \
Point.h \
Rational.h \
ObjectReference.h \
ExternalReference.h \
IndirectReference.h \
ContentReference.h \
GenericObjectReference.h \
GenericContentReference.h \
GenericInteger.h \
GenericBoolean.h \
GenericOctetString.h \
Colour.h \
XYPosition.h
ASN_MODULE_HEADERS+=BOOLEAN.h
ASN_MODULE_SOURCES+=BOOLEAN.c
ASN_MODULE_HEADERS+=ENUMERATED.h
ASN_MODULE_SOURCES+=ENUMERATED.c
ASN_MODULE_HEADERS+=INTEGER.h
ASN_MODULE_SOURCES+=INTEGER.c
ASN_MODULE_HEADERS+=NULL.h
ASN_MODULE_SOURCES+=NULL.c
ASN_MODULE_HEADERS+=asn_SEQUENCE_OF.h
ASN_MODULE_SOURCES+=asn_SEQUENCE_OF.c
ASN_MODULE_HEADERS+=asn_SET_OF.h
ASN_MODULE_SOURCES+=asn_SET_OF.c
ASN_MODULE_HEADERS+=constr_CHOICE.h
ASN_MODULE_SOURCES+=constr_CHOICE.c
ASN_MODULE_HEADERS+=constr_SEQUENCE.h
ASN_MODULE_SOURCES+=constr_SEQUENCE.c
ASN_MODULE_HEADERS+=constr_SEQUENCE_OF.h
ASN_MODULE_SOURCES+=constr_SEQUENCE_OF.c
ASN_MODULE_HEADERS+=constr_SET_OF.h
ASN_MODULE_HEADERS+=constr_SET.h
ASN_MODULE_SOURCES+=constr_SET.c
ASN_MODULE_SOURCES+=constr_SET_OF.c
ASN_MODULE_HEADERS+=asn_application.h
ASN_MODULE_HEADERS+=asn_system.h
ASN_MODULE_HEADERS+=asn_codecs.h
ASN_MODULE_HEADERS+=asn_internal.h
ASN_MODULE_HEADERS+=OCTET_STRING.h
ASN_MODULE_SOURCES+=OCTET_STRING.c
ASN_MODULE_HEADERS+=BIT_STRING.h
ASN_MODULE_SOURCES+=BIT_STRING.c
ASN_MODULE_SOURCES+=asn_codecs_prim.c
ASN_MODULE_HEADERS+=asn_codecs_prim.h
ASN_MODULE_HEADERS+=ber_tlv_length.h
ASN_MODULE_SOURCES+=ber_tlv_length.c
ASN_MODULE_HEADERS+=ber_tlv_tag.h
ASN_MODULE_SOURCES+=ber_tlv_tag.c
ASN_MODULE_HEADERS+=ber_decoder.h
ASN_MODULE_SOURCES+=ber_decoder.c
ASN_MODULE_HEADERS+=der_encoder.h
ASN_MODULE_SOURCES+=der_encoder.c
ASN_MODULE_HEADERS+=constr_TYPE.h
ASN_MODULE_SOURCES+=constr_TYPE.c
ASN_MODULE_HEADERS+=constraints.h
ASN_MODULE_SOURCES+=constraints.c
ASN_MODULE_HEADERS+=xer_support.h
ASN_MODULE_SOURCES+=xer_support.c
ASN_MODULE_HEADERS+=xer_decoder.h
ASN_MODULE_SOURCES+=xer_decoder.c
ASN_MODULE_HEADERS+=xer_encoder.h
ASN_MODULE_SOURCES+=xer_encoder.c
lib_LTLIBRARIES=libsomething.la
libsomething_la_SOURCES=$(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
# This file may be used as an input for make(3)
# Remove the lines below to convert it into a pure .am file
TARGET = mheg5dump
CFLAGS += -I. -DHAVE_CONFIG_H
OBJS=${ASN_MODULE_SOURCES:.c=.o} $(TARGET).o
all: $(TARGET)
$(TARGET): ${OBJS}
$(CC) $(CFLAGS) -o $(TARGET) ${OBJS} $(LDFLAGS) $(LIBS)
.SUFFIXES:
.SUFFIXES: .c .o
.c.o:
$(CC) $(CFLAGS) -o $@ -c $<
clean:
rm -f $(TARGET)
rm -f $(OBJS)
regen: regenerate-from-asn1-source
regenerate-from-asn1-source:
../../asn1c/asn1c -S ../../skeletons -fcompound-names ../ISO13522-MHEG-5.asn
../ISO13522-MHEG-5.asn:
@echo The ../ISO13522-MHEG-5.asn file is not yet present.
@echo Please read the README file on how to obtain this file.
@exit 42
InterchangedObject.c: ../ISO13522-MHEG-5.asn regenerate.Makefile
./regenerate.Makefile
@touch InterchangedObject.c
make
ASN_DECODER_TEMPLATE=../../skeletons/asn-decoder-template.c
$(TARGET).o: $(ASN_DECODER_TEMPLATE)
$(CC) $(CFLAGS) -Dasn_DEF=asn_DEF_InterchangedObject -o $(TARGET).o -c $(ASN_DECODER_TEMPLATE)
distclean: clean
rm -f $(ASN_MODULE_SOURCES) $(ASN_MODULE_HEADERS)
rm -f Makefile.am.sample

View File

@ -0,0 +1,48 @@
GENERAL INFORMATION
===================
The ISO MHEG-5 (Multimedia Hypermedia Experts Group,
Multimedia Presentations) decoder.
Invoking `make` will compile the ASN.1 specifications from the
../ISO13522-MHEG-5.asn file.
THERE IS NO ISO13522-MHEG-5.asn FILE THERE YET!
OBTAINING THE MHEG-5 SPECIFICATION
==================================
To obtain the MHEG-5 ASN.1 specification, you should go to
http://www.itu.int/ITU-T/asn1/database/itu-t/t/t172
and select the latest "Text" version of the corresponding ASN.1 module.
After obtaining the ISO13522-MHEG-5.asn, type `make` in the directory
containing this README file.
mheg5dump USAGE
===============
The mheg5dump utility may be used to dump the contents of the BER-encoded
MHEG-5 data record file:
./mheg5dump -x tapfile.der # Print as XML (BASIC-XER)
If necessary, a straightforward modification of the
../../skeletons/asn-decoder-template.c
will allow you to build a converter from the XML (XER) MHEG-5 format
back into binary (BER).
The full list of recognized command line options may be obtained with
> ./mheg5dump -h
Usage: ./mheg5dump [options] <data.ber> ...
Where options are:
-b <size> Set the i/o buffer size (default is 8192)
-c Check ASN.1 constraints after decoding
-d Enable debugging (-dd is even better)
-n <num> Process files <num> times
-s <size> Set the stack usage limit
-p Print out the decoded contents
-x Print out as XML