README

mokomoking2501/profinet_master/rpc does not have a README file

#
DceHeader

pub(all) struct DceHeader {
version : Byte
packet_type : Byte
flags1 : Byte
flags2 : Byte
drep : Bytes
serial_high : Byte
object_uuid : Uuid
interface_uuid : Uuid
activity_uuid : Uuid
server_boot_time : Int
interface_version : Int
sequence_number : Int
opnum : Int
interface_hint : Int
activity_hint : Int
body_length : Int
fragment_number : Int
auth_proto : Byte
serial_low : Byte
} derive(Eq,
Debug
)

DCE/RPC header — 80 bytes.

#
DceHeader::default

fn DceHeader::default() -> DceHeader

#
EndpointMapperObject

pub(all) struct EndpointMapperObject {
uuid : Uuid
tower_referent_id : Int
annotation_hex : String
udp_port : Int?
ip_text : String?
rpc_version_minor : Int?
uuid_floor_uuids : Array[Uuid]
uuid_floors : Array[String]
floor_count : Int
} derive(Eq,
Debug
)

#
EndpointMapperResponse

pub(all) struct EndpointMapperResponse {
handle : Bytes
object_count : Int
objects : Array[EndpointMapperObject]
return_code : Int
} derive(Eq,
Debug
)

#
IoRequest

pub(all) struct IoRequest {
args_maximum : Int
args_length : Int
max_count : Int
offset : Int
actual_count : Int
payload : Bytes
} derive(Eq,
Debug
)

IO Request structure — wraps RPC payload blocks.

#
IoRequest::default

fn IoRequest::default() -> IoRequest

#
IoResponse

pub(all) struct IoResponse {
status : Int
args_length : Int
max_count : Int
offset : Int
actual_count : Int
payload : Bytes
} derive(Eq,
Debug
)

IO Response structure — wraps RPC response blocks.

#
Uuid

pub(all) struct Uuid {
bytes : Bytes
} derive(Eq,
Debug
)

UUID data type — 16-byte identifier.

#
Uuid::empty

fn Uuid::empty() -> Uuid

#
Uuid::from_bytes

fn Uuid::from_bytes(data : Bytes, offset : Int) -> Uuid raise
FrameError

#
Uuid::from_dce_bytes_le

fn Uuid::from_dce_bytes_le(data : Bytes, offset : Int) -> Uuid raise
FrameError

Parse a DCE/RPC little-endian wire UUID into canonical UUID byte order.

#
Uuid::from_hex

Parse a UUID from its canonical hex string (e.g. "DEA00001-6C97-11D1-8271-00A02442DF7D"). Bytes are taken in written (big-endian field) order; dashes are ignored.

#
Uuid::to_bytes

fn Uuid::to_bytes(self : Uuid) -> Bytes

#
Uuid::to_dce_bytes_le

fn Uuid::to_dce_bytes_le(self : Uuid) -> Bytes

Return the DCE/RPC little-endian wire representation used when DREP=0x10.

#
Uuid::to_hex

fn Uuid::to_hex(self : Uuid) -> String

#
encode_dce_header

fn encode_dce_header(hdr : DceHeader) -> Bytes

Encode a DCE/RPC header to bytes (80 bytes).

#
encode_endpoint_mapper_lookup_body

fn encode_endpoint_mapper_lookup_body(handle? : Bytes) -> Bytes raise
FrameError

Encode the EPM lookup request body (aa.a() in the C# reference).

#
encode_endpoint_mapper_lookup_request

fn encode_endpoint_mapper_lookup_request(activity_uuid : Uuid, sequence_number? : Int, handle? : Bytes) -> Bytes raise
FrameError

Assemble a DCE/RPC Endpoint Mapper lookup request packet.

#
encode_io_request

fn encode_io_request(req : IoRequest) -> Bytes

Encode an IO Request wrapper (20-byte header + payload).

#
encode_io_response

fn encode_io_response(res : IoResponse) -> Bytes

Encode an IO Response wrapper (20-byte header + payload).

#
endpoint_mapper_handle_is_zero

fn endpoint_mapper_handle_is_zero(handle : Bytes) -> Bool

#
endpoint_mapper_object_uuid_for_interface

fn endpoint_mapper_object_uuid_for_interface(response : EndpointMapperResponse, interface_uuid : Uuid) -> Uuid?

#
endpoint_mapper_opnum_lookup

let endpoint_mapper_opnum_lookup : Int

Endpoint Mapper lookup opnum used by JIYUAN DceClient.LookupEndPointMapper.

#
endpoint_mapper_response_matches_interface

fn endpoint_mapper_response_matches_interface(response : EndpointMapperResponse, interface_uuid : Uuid) -> Bool

#
endpoint_mapper_udp_port_for_interface

fn endpoint_mapper_udp_port_for_interface(response : EndpointMapperResponse, interface_uuid : Uuid) -> Int?

#
first_endpoint_mapper_object_uuid

fn first_endpoint_mapper_object_uuid(response : EndpointMapperResponse) -> Uuid?

#
format_dce_header

fn format_dce_header(hdr : DceHeader) -> String

Format DCE header as human-readable summary.

#
format_endpoint_mapper_response

fn format_endpoint_mapper_response(response : EndpointMapperResponse) -> String

#
packet_type_label

fn packet_type_label(pt : Byte) -> String

#
packet_type_no_call

let packet_type_no_call : Byte

#
packet_type_ping

let packet_type_ping : Byte

#
packet_type_reject

let packet_type_reject : Byte

#
packet_type_request

let packet_type_request : Byte

DCE/RPC packet types.

#
packet_type_response

let packet_type_response : Byte

#
parse_dce_header

fn parse_dce_header(data : Bytes, offset : Int) -> DceHeader raise
FrameError

Parse a DCE/RPC header from bytes (requires at least 80 bytes from offset).

#
parse_endpoint_mapper_response_body

fn parse_endpoint_mapper_response_body(data : Bytes) -> EndpointMapperResponse raise
FrameError

Parse the DCE body of an Endpoint Mapper lookup response.

#
parse_io_request

fn parse_io_request(data : Bytes, offset : Int) -> IoRequest raise
FrameError

Parse an IO Request wrapper from bytes.

#
parse_io_response

fn parse_io_response(data : Bytes, offset : Int) -> IoResponse raise
FrameError

Parse an IO Response wrapper from bytes.

#
rpc_multicast_mac

let rpc_multicast_mac : String

PROFINET multicast MAC for DCE/RPC.

#
rpc_udp_port

let rpc_udp_port : Int

Standard PROFINET RPC UDP port.

#
uuid_endpoint_mapper

let uuid_endpoint_mapper : String

Endpoint Mapper UUID (DCE standard).

#
uuid_pnio_controller

let uuid_pnio_controller : String

PNIO Controller UUID.

#
uuid_pnio_device

let uuid_pnio_device : String

Well-known PROFINET IO CM activity UUIDs (as hex strings). PNIO Device UUID for endpoint mapper.

#
uuid_pnio_parameterization

let uuid_pnio_parameterization : String

PNIO Parameterization UUID.

#
uuid_pnio_supervisor

let uuid_pnio_supervisor : String

PNIO Supervisor UUID.