Program Listing for File can.idl#
↰ Return to documentation for file (interfaces\can.idl)
/********************************************************************************
* Copyright (c) 2025-2026 ZF Friedrichshafen AG
*
* This program and the accompanying materials are made available under the
* terms of the Apache License Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
*
* Contributors:
* Erik Verhoeven - initial API and implementation
********************************************************************************/
#include "core.idl"
module sdv
{
module can
{
struct SMessage
{
uint32 uiID;
boolean bExtended;
boolean bCanFd;
sequence<uint8> seqData;
};
enum EError : uint32
{
no_error = 0,
bit_error = 1,
stuff_error = 2,
form_error = 3,
crc_error = 4,
ack_error = 5,
};
struct SErrorFrame
{
uint32 uiID;
EError eError;
};
local interface IReceive
{
void Receive(in SMessage sMsg, in uint32 uiIfcIndex);
void Error(in SErrorFrame sError, in uint32 uiIfcIndex);
};
local interface IRegisterReceiver
{
void RegisterReceiver(in IReceive pReceiver);
void UnregisterReceiver(in IReceive pReceiver);
};
local interface ISend
{
void Send(in SMessage sMsg, in uint32 uiIfcIndex);
};
local interface IInformation
{
sequence<u8string> GetInterfaces() const;
};
};
};