aboutsummaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2005-04-13 13:22:31 +0000
committerLev Walkin <vlm@lionet.info>2005-04-13 13:22:31 +0000
commitae72b048dacb38e5f16925151c2bc9fa0eda0056 (patch)
tree0b54fa05ac0d1c66ae66c6d8211412824433a393 /examples
parent75d76b408c17aab1dfa0aea490c30ec674eef311 (diff)
MHEG5
Diffstat (limited to 'examples')
-rw-r--r--examples/README3
-rw-r--r--examples/sample.source.MHEG5/Makefile479
-rw-r--r--examples/sample.source.MHEG5/README48
3 files changed, 530 insertions, 0 deletions
diff --git a/examples/README b/examples/README
index ae7ee79a..fa138805 100644
--- a/examples/README
+++ b/examples/README
@@ -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).
diff --git a/examples/sample.source.MHEG5/Makefile b/examples/sample.source.MHEG5/Makefile
new file mode 100644
index 00000000..e84e400f
--- /dev/null
+++ b/examples/sample.source.MHEG5/Makefile
@@ -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
diff --git a/examples/sample.source.MHEG5/README b/examples/sample.source.MHEG5/README
new file mode 100644
index 00000000..2fe89c1e
--- /dev/null
+++ b/examples/sample.source.MHEG5/README
@@ -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
+