173 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			173 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*********************************************************************
 | |
| * Copyright (c) Intel Corporation 2011 - 2020
 | |
| * SPDX-License-Identifier: Apache-2.0
 | |
| **********************************************************************/
 | |
| 
 | |
| #ifndef _MINCORE
 | |
| 
 | |
| #ifndef _LMS_IF_H_
 | |
| #define _LMS_IF_H_
 | |
| 
 | |
| #include "LMS_if_constants.h"
 | |
| 
 | |
| #pragma pack(1)
 | |
| 
 | |
| typedef struct {
 | |
| 	unsigned char  MessageType;
 | |
| } APF_MESSAGE_HEADER;
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * APF_GENERIC_HEADER - generic request header (note that its not complete header per protocol (missing WantReply)
 | |
|  *
 | |
|  * @MessageType:
 | |
|  * @RequestStringLength: length of the string identifies the request
 | |
|  * @RequestString: the string that identifies the request
 | |
|  **/
 | |
| 
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  StringLength;
 | |
| 	unsigned char  String[0];
 | |
| } APF_GENERIC_HEADER;
 | |
| 
 | |
| /**
 | |
|  * TCP forward reply message
 | |
|  * @MessageType - Protocol's Major version
 | |
|  * @PortBound - the TCP port was bound on the server
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  PortBound;
 | |
| } APF_TCP_FORWARD_REPLY_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * response to ChannelOpen when channel open succeed
 | |
|  * @MessageType - APF_CHANNEL_OPEN_CONFIRMATION
 | |
|  * @RecipientChannel - channel number given in the open request
 | |
|  * @SenderChannel - channel number assigned by the sender
 | |
|  * @InitialWindowSize - Number of bytes in the window
 | |
|  * @Reserved - Reserved
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  RecipientChannel;
 | |
| 	unsigned int  SenderChannel;
 | |
| 	unsigned int  InitialWindowSize;
 | |
| 	unsigned int  Reserved;
 | |
| } APF_CHANNEL_OPEN_CONFIRMATION_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * response to ChannelOpen when a channel open failed
 | |
|  * @MessageType - APF_CHANNEL_OPEN_FAILURE
 | |
|  * @RecipientChannel - channel number given in the open request
 | |
|  * @ReasonCode - code for the reason channel could not be open
 | |
|  * @Reserved - Reserved
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  RecipientChannel;
 | |
| 	unsigned int  ReasonCode;
 | |
| 	unsigned int  Reserved;
 | |
| 	unsigned int  Reserved2;
 | |
| } APF_CHANNEL_OPEN_FAILURE_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * close channel message
 | |
|  * @MessageType - APF_CHANNEL_CLOSE
 | |
|  * @RecipientChannel - channel number given in the open request
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  RecipientChannel;
 | |
| } APF_CHANNEL_CLOSE_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * used to send/receive data.
 | |
|  * @MessageType - APF_CHANNEL_DATA
 | |
|  * @RecipientChannel - channel number given in the open request
 | |
|  * @Length - Length of the data in the message
 | |
|  * @Data - The data in the message
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  RecipientChannel;
 | |
| 	unsigned int  DataLength;
 | |
| 	// unsigned char Data[0];
 | |
| } APF_CHANNEL_DATA_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * used to adjust receive window size.
 | |
|  * @MessageType - APF_WINDOW_ADJUST
 | |
|  * @RecipientChannel - channel number given in the open request
 | |
|  * @BytesToAdd - number of bytes to add to current window size value
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  RecipientChannel;
 | |
| 	unsigned int  BytesToAdd;
 | |
| } APF_WINDOW_ADJUST_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * This message causes immediate termination of the connection with AMT.
 | |
|  * @ReasonCode -  A Reason code for the disconnection event
 | |
|  * @Reserved - Reserved must be set to 0
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char  MessageType;
 | |
| 	unsigned int   ReasonCode;
 | |
| 	unsigned short Reserved;
 | |
| } APF_DISCONNECT_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * Used to request a service identified by name
 | |
|  * @ServiceNameLength -  The length of the service name string.
 | |
|  * @ServiceName - The name of the service being requested.
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  ServiceNameLength;
 | |
| 	unsigned char ServiceName[0];
 | |
| } APF_SERVICE_REQUEST_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * Used to send a service accept identified by name
 | |
|  * @ServiceNameLength -  The length of the service name string.
 | |
|  * @ServiceName - The name of the service being requested.
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  ServiceNameLength;
 | |
| 	unsigned char ServiceName[0];
 | |
| } APF_SERVICE_ACCEPT_MESSAGE;
 | |
| 
 | |
| /**
 | |
|  * holds the protocl major and minor version implemented by AMT.
 | |
|  * @MajorVersion - Protocol's Major version
 | |
|  * @MinorVersion - Protocol's Minor version
 | |
|  * @Trigger - The open session reason
 | |
|  * @UUID - System Id
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| 	unsigned int  MajorVersion;
 | |
| 	unsigned int  MinorVersion;
 | |
| 	unsigned int  TriggerReason;
 | |
| 	unsigned char UUID[16];
 | |
| 	unsigned char Reserved[64];
 | |
| } APF_PROTOCOL_VERSION_MESSAGE;
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * holds the user authentication request success reponse.
 | |
|  **/
 | |
| typedef struct {
 | |
| 	unsigned char MessageType;
 | |
| } APF_USERAUTH_SUCCESS_MESSAGE;
 | |
| 
 | |
| #pragma pack()
 | |
| 
 | |
| #endif
 | |
| 
 | |
| #endif
 |