LibItsGeoNetworking_TypesAndValues.ttcn 35.5 KB
Newer Older
     * @member  payload         GnRawPayload of the packet
     */
    type record GenerateGeoUnicastMessage {
      GN_Address gnAddress,
      UInt16 lifetime,
      TrafficClass trafficClass,
      GnRawPayload payload 
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc    UT primitive for IUT to send a GeoBroadcast packet
     * @member  shape           Shape of the area
     * @member  lifetime        Lifetime of the packet
     * @member  trafficClass    Traffic class of the packet
     * @member  area            Destination GeoArea
     * @member  payload         GnRawPayload of the packet
     */
    type record GenerateGeoBroadcastMessage {
      GeoShape shape,
      UInt16 lifetime,
      TrafficClass trafficClass,
      UInt24 reserved,
      Area area,
      GnRawPayload payload 
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc    UT primitive for IUT to send a Geoanycast packet
     */
    type GenerateGeoBroadcastMessage GenerateGeoAnycastMessage;
        
    /**
     * @desc    UT primitive for IUT to send a SHB packet
     * @member  trafficClass    Traffic class of the packet
     * @member  payload         GnRawPayload of the packet
     */
    type record GenerateSHBMessage {
      TrafficClass trafficClass,
      GnRawPayload payload 
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc    UT primitive for IUT to send a SHB packet
     * @member  nbHops          Number of Hops
     * @member  lifetime        Lifetime of the packet
     * @member  trafficClass    Traffic class of the packet
     * @member  payload         GnRawPayload of the packet
     */
    type record GenerateTSBMessage {
      UInt8   nbHops,
      UInt16 lifetime,
      TrafficClass trafficClass,
      GnRawPayload payload 
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc Upper Tester message to check Upper Layer message transmission on GN IUT 
     */
    type record UtGnEventInd {
      //            GeoNetworkingPdu gnPdu
      GnRawPayload rawPayload
      } with {
      variant "FIELDORDER(msb)"
      }
        
    /**
     * @desc List of Upper Tester messages to check Upper Layer message transmission on GN IUT 
     */
    type record of UtGnEventInd UtGnEventIndList;
        
  } // end utPrimitives
  with {
    encode "UpperTester";
    variant ""
    }
    
  group acPrimitives {
        
    /**
     * @desc    TA primitives for GeoNetworking
     * @member  startBeaconing                  -
     * @member  stopBeaconing                   -
     * @member  startPassBeaconing              -
     * @member  stopPassBeaconing               -
     * @member  startBeaconingMultipleNeighbour -
     * @member  stopBeaconingMultipleNeighbour  -
     * @member  getLongPosVector                -
     */
    type union AcGnPrimitive {
      AcStartBeaconing startBeaconing,
        AcStopBeaconing stopBeaconing,
        AcStartPassBeaconing startPassBeaconing,
        AcStopPassBeaconing stopPassBeaconing,
        AcStartBeaconingMultipleNeighbour startBeaconingMultipleNeighbour,
        AcStopBeaconingMultipleNeighbour stopBeaconingMultipleNeighbour,
        AcGetLongPosVector getLongPosVector
      } with {
      variant ""
      }
        
    /**
     * @desc    Primitive for receiveing response from TA
     * @member  getLongPosVector
     */
    type union AcGnResponse {
      LongPosVector getLongPosVector,
        AcGnResponseFailure failure
      }
    with {
      variant ""
      encode(getLongPosVector) "LibItsGeoNetworking"
      }
        
    type record AcGnResponseFailure {
      boolean     failure
      }
        
    /**
     * @desc    Primitive for TA to start sending beacons for the test component
     * @member  beaconHeader        Beacon template
     */
    type record AcStartBeaconing {
      GeoNetworkingPdu beaconPacket
      }
    with {
      encode(beaconPacket) "LibItsGeoNetworking"
      }
        
    /**
     * @desc    Primitive for TA to stop sending beacons for the test component
     */
    type record AcStopBeaconing {
    }
        
    /**
     * @desc    Primitive for TA to start enqueueing received beacons
     * @member  beaconHeader    Filter
     */
    type record AcStartPassBeaconing {
      BeaconHeader beaconHeader
      }
    with {
      encode(beaconHeader) "LibItsGeoNetworking"
      };
        
    /**
     * @desc    Primitive for TA to stop enqueueing received beacons
     */
    type record AcStopPassBeaconing {
    }
        
    /**
     * @desc    Primitive for TA to start sending beacons for multiple neighbours
     * @member  beaconHeader        Beacon template
     * @member  numberOfNeighbour   Number of neighbours to simulate
     */
    type record AcStartBeaconingMultipleNeighbour {
      GeoNetworkingPdu beaconPacket,
      integer numberOfNeighbour
      }
    with {
      encode(beaconPacket) "LibItsGeoNetworking"
      };
        
    /**
     * @desc    Primitive for TA to stop sending beacons for multiple neighbours
     */
    type record AcStopBeaconingMultipleNeighbour {
    }
        
    /**
     * @desc    Primitive for retrieving the position vector corresponding to a specific GN address
     * @member  gnAddress   GN address to be searched
     */
    type record AcGetLongPosVector {
      GN_Address gnAddress
      }
    with {
      encode(gnAddress) "LibItsGeoNetworking"
      };
        
  } // end acPrimitives
  with {
    variant ""
    encode "AdapterControl"
    }
}
with {
  variant ""
  encode "LibItsGeoNetworking"
  }