617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/*******************************************************************************
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * Copyright (C) 2004-2008 Intel Corp. All rights reserved.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * Redistribution and use in source and binary forms, with or without
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * modification, are permitted provided that the following conditions are met:
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * - Redistributions of source code must retain the above copyright notice,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * this list of conditions and the following disclaimer.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * - Redistributions in binary form must reproduce the above copyright notice,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * this list of conditions and the following disclaimer in the documentation
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * and/or other materials provided with the distribution.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * - Neither the name of Intel Corp. nor the names of its
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * contributors may be used to endorse or promote products derived from this
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * software without specific prior written permission.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * ARE DISCLAIMED. IN NO EVENT SHALL Intel Corp. OR THE CONTRIBUTORS
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * POSSIBILITY OF SUCH DAMAGE.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *******************************************************************************/
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#ifndef _LMS_IF_COMPAT_H_
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#define _LMS_IF_COMPAT_H_
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#include "types.h"
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// disable the "zero-sized array" warning in Visual C++
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#ifdef _MSC_VER
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#pragma warning(disable:4200)
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#endif
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#pragma pack(1)
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef enum {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_OPEN_CONNECTION = 0x01,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_OPEN_CONNECTION_REPLY = 0x02,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_CLOSE_CONNECTION = 0x03,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_SEND_DATA = 0x04,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_IP_FQDN_REQUEST = 0x05,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_IP_FQDN = 0x06,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_PROTO_VERSION = 0x07,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_PROTO_VERSION_REPLY = 0x08,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_MESSAGE_TYPE_OPEN_CONNECTION_EX = 0x0a
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_MESSAGE_TYPE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef enum {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_PROTOCOL_TYPE_TCP_IPV4 = 0x00,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_PROTOCOL_TYPE_UDP_IPV4 = 0x01,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_PROTOCOL_TYPE_TCP_IPV6 = 0x02,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_PROTOCOL_TYPE_UDP_IPV6 = 0x03
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_PROTOCOL_TYPE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef enum {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_CONNECTION_STATUS_OK = 0x00,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_CONNECTION_STATUS_FAILED = 0x01,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_CONNECTION_STATUS_TOO_MANY = 0x02
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_CONNECTION_STATUS;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef enum {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_CLOSE_STATUS_CLIENT = 0x00,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_CLOSE_STATUS_INTERNAL = 0x01,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_CLOSE_STATUS_SOCKET = 0x02,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_CLOSE_STATUS_SHUTDOWN = 0x03
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_CLOSE_STATUS;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef enum {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_IP_ADDRESS_SHARED = 0x00,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_IP_ADDRESS_DUAL_IPV4 = 0x01,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_IP_ADDRESS_DUAL_IPV6 = 0x02
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_IP_ADDRESS_TYPE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef enum {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_PROTOCOL_STATUS_OK = 0x00,
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan LMS_PROTOCOL_STATUS_PROPOSE_ANOTHER = 0x01
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_PROTOCOL_STATUS;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_OPEN_CONNECTION_MESSAGE - open connection request
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_OPEN_CONNECTION
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: 0 if sent from LMS, positive if sent from LME
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Protocol: One of LMS_PROTOCOL_TYPE
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @OpenRequestId: Any number; used to match the request to the response
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @HostIPAddress: Source IP address of the initiating application, in network
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * order (Big Endian). If IPv4, only the first 4 bytes are used
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * and the rest must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @HostPort: Source port of the initiating application, in network order (Big
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * Endian).
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MEPort: Destination port of the initiating application, in network order
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * (Big Endian).
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Protocol;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 OpenRequestId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 HostIPAddress[16];
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT16 HostPort;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT16 MEPort;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_OPEN_CONNECTION_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_OPEN_CONNECTION_REPLY_MESSAGE - open connection reply
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_OPEN_CONNECTION_REPLY
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: Assigned by LME
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Status: One of LMS_CONNECTION_STATUS
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @OpenRequestId: The same as the OpenRequestID value in the open connection
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * request message.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Status;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 OpenRequestId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_OPEN_CONNECTION_REPLY_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_OPEN_CONNECTION_EX_MESSAGE - open connection request
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_OPEN_CONNECTION_EX
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: Unique identifier
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Protocol: One of LMS_PROTOCOL_TYPE
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Flags: If first bit is set then Host is an hostname, otherwise Host is an IP address.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * If second bit is set then connection is from remote console, otherwise
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * it is from local application. The other bits must be zero.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Reserved: Must be zero
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @OpenRequestId: Any number; used to match the request to the response
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Host: Source IP address of the initiating application, in network
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * order (Big Endian). If IPv4, only the first 4 bytes are used
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * and the rest must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @HostPort: Source port of the initiating application, in network order (Big
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * Endian).
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MEPort: Destination port of the initiating application, in network order
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * (Big Endian).
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#define HOSTNAME_BIT 0x1
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#define REMOTE_BIT 0x2
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#define FQDN_MAX_SIZE 256
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Protocol;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Flags;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT32 Reserved;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 OpenRequestId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Host[FQDN_MAX_SIZE];
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT16 HostPort;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT16 MEPort;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_OPEN_CONNECTION_EX_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan///**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// * LMS_OPEN_CONNECTION_EX_REPLY_MESSAGE - open connection reply
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// * @MessageType: LMS_MESSAGE_TYPE_OPEN_CONNECTION_EX_REPLY
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// * @ConnectionId: Should match value in connection request
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// * @Status: One of LMS_CONNECTION_STATUS
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// * @OpenRequestId: The same as the OpenRequestID value in the open connection
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// * request message.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan//typedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// UINT8 Status;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan// UINT8 OpenRequestId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan//} LMS_OPEN_CONNECTION_EX_REPLY_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_CLOSE_CONNECTION_MESSAGE - close connection request
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_CLOSE_CONNECTION
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: The connection ID chosen by the LME when the connection
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * was established.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ClosingReason: One of LMS_CLOSE_STATUS
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ClosingReason;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_CLOSE_CONNECTION_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_SEND_DATA_MESSAGE - sends data betwen LMS and LME
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_SEND_DATA
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: The connection ID chosen by the LME when the connection
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * was established.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @DataLength: Length of data field, in Big Endian.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Data: The data to transfer
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT16 DataLength;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Data[0];
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_SEND_DATA_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_IP_FQDN_REQUEST_MESSAGE - Requests IP/FQDN data
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_IP_FQDN_REQUEST
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: Must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_IP_FQDN_REQUEST_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_IP_FQDN_MESSAGE - sends IP/FQDN info
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_IP_FQDN
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: Must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @IPType: One of LMS_IP_ADDRESS_TYPE.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Reserved: Must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @AMTIPAddress: The Intel(R) AMT IP address, in network order (Big Endian).
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * If IPv4, then only the first 4 bytes are used and the rest
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @FQDN: A NUL terminated string specifying the Fully Qualified Domain Name.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 IPType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Reserved;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 AMTIPAddress[16];
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 FQDN[FQDN_MAX_SIZE];
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_IP_FQDN_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_PROTO_VERSION_MESSAGE - sends protocol version information
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_PROTO_VERSION
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: Must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Protocol: Protocol version.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Protocol;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_PROTO_VERSION_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan/**
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * LMS_PROTO_VERSION_REPLY_MESSAGE - sends protocol version information
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan *
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @MessageType: LMS_MESSAGE_TYPE_PROTO_VERSION_REPLY
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @ConnectionId: Must be 0.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Protocol: Protocol version.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan * @Status: One of LMS_PROTOCOL_STATUS.
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan */
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logantypedef struct {
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 MessageType;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 ConnectionId;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Protocol;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan UINT8 Status;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan} LMS_PROTO_VERSION_REPLY_MESSAGE;
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#pragma pack()
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan#endif
617e2443dfc17fe44fd44c0675d6aad2ffc9df42Mark Logan