/******************************************************************************
* Copyright (c) 2000-2019 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:
*  Gabor Bettesch - initial implementation and initial documentation
*  Bernadett Diana Ivan
*  Endre Kulcsar
*  Gabor Szalai
*  Gabor Tatarka
*  Laszlo Skumat
*  Tamas Buti
*  Tibor Bende
*  Tibor Csondes
******************************************************************************/
//
//  File:               LANL2asp_Types.ttcn
//  Description:        LANL2 ASP definition file
//  Rev:                R8C
//  Prodnr:             CNL 113 519
//

module LANL2asp_Types {
    import from General_Types all;

    type octetstring PDU_LANL2;

    type record ASP_LANL2 {
        OCT6      eth_dst_addr,
        OCT6      eth_src_addr optional,
        OCT2      type_field,
        PDU_LANL2 payload
    }

    type enumerated LANL2_Error_Types {
        NO_ERROR, SEND_FAILED, PARTIAL_SEND, INVALID_INTEFACE_ID, INVALID_INTEFACE_NAME
    }

    type record ASP_LANL2_Error {
        LANL2_Error_Types error_type,
        ASP_LANL2         sent_asp optional,
        integer           sent_octet optional,
        integer           os_error_code optional,
        charstring        os_error_text optional
    }

    type record ASP_LANL2_open_interface {
        charstring interface_name,
        OCT6       default_src_addr optional,
        boolean    promisc_mode optional,
        charstring packet_filter optional
    }

    type record ASP_LANL2_open_result {
        integer    interface_id,
        boolean    success,
        charstring interface_name,
        OCT6       default_src_addr optional,
        integer    mtu optional,
        boolean    promisc_mode optional,
        charstring packet_filter optional,
        integer    os_error_code optional,
        charstring os_error_text optional
    }

    type record ASP_LANL2_close_interface {
        integer interface_id
    }

    type record ASP_v2_LANL2 {
        integer   interface_id,
        OCT6      eth_dst_addr,
        OCT6      eth_src_addr optional,
        OCT2      type_field,
        PDU_LANL2 payload
    }

    type record ASP_v2_LANL2_Error {
        integer           interface_id,
        LANL2_Error_Types error_type,
        ASP_v2_LANL2      sent_asp optional,
        integer           sent_octet optional,
        integer           os_error_code optional,
        charstring        os_error_text optional
    }

    type enumerated LANL2_Parameter_result {
        SUCCESS(0),WRONG_VALUE(1),UNKNOWN_PARAMETER(2), NOT_ALLOWED(3)
    }

} //end of module
