--/////////////////////////////////////////////////////////////////////////////
-- Copyright (c) 2000-2025 Ericsson Telecom AB
-- All rights reserved. This program and the accompanying materials
-- are made available under the terms of the Eclipse Public License v2.0
-- which accompanies this distribution, and is available at
-- https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html
--
-- Contributors:
--   Balasko, Jeno
--   Raduly, Csaba
--   Szabo, Janos Zoltan – initial implementation
--
--/////////////////////////////////////////////////////////////////////////////
X DEFINITIONS ::=
BEGIN

IMPORTS ; -- nothing

OC ::= CLASS {
  &id INTEGER UNIQUE,
  &Type
} WITH SYNTAX {
  ID &id
  TYPE &Type
}


PDU{OC : ObjectSet} ::= SEQUENCE {
  id OC.&id ({ObjectSet}),
  data OC.&Type ({ObjectSet}{@id})
}

o0 OC ::= {
  ID 0
  TYPE OCTET STRING
}

opard{INTEGER : id, Type} OC ::= {
  ID id
  TYPE Type
}

o3 OC ::= opard{3, REAL}

Os OC ::= {o0 | {ID 1 TYPE NULL} | opard{2, INTEGER} | o3}

MyPDU ::= PDU{{Os | opard{4, OC.&id} | opard{5, BIT STRING} |
  opard{6, SEQUENCE{}}}}

END
