Data Structures

msgqdefs.h File Reference


Detailed Description

Defines data types and structures used by DSP/BIOS(tm) Link for MSGQ.

============================================================================

Path:
/gpp/inc/usr/
Version:
1.65.02.09 ============================================================================
Copyright:
Copyright (C) 2002-2012, Texas Instruments Incorporated - https://www.ti.com/

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ============================================================================

#include <gpptypes.h>
#include <errbase.h>
Include dependency graph for msgqdefs.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  MSGQ_Attrs_tag
struct  PCPYMQT_Attrs_tag
struct  ZCPYMQT_Attrs_tag
struct  DCPYMQT_Attrs_tag
struct  MSGQ_LocateAttrs_tag
struct  MSGQ_LocateAsyncAttrs_tag
struct  MSGQ_MsgHeader_tag
struct  MSGQ_AsyncLocateMsg_tag
struct  MSGQ_AsyncErrorMsg_tag

Typedefs

MSGQ_MqtError

This type is used for identifying types of MQT async error messages. ============================================================================

============================================================================

typedef Int16 MSGQ_MqtError
MSGQ_Id

This type is used for identifying a message queue on a specific processor. ============================================================================

============================================================================

typedef Uint16 MSGQ_Id
MsgqPend

Defines the types for the pend function.

============================================================================

Parameters:
notifyHandlePointer to the notification object for the message queue.
timeoutTimeout Value.
Returns:
DSP_SOK Operation successfully completed. SYNC_E_FAIL General error from GPP-OS. DSP_ETIMEOUT Timeout occured while performing operation. DSP_EPOINTER Invalid pointer passed. ============================================================================
typedef DSP_STATUS(* MsgqPend )(Pvoid notifyHandle, Uint32 timeout)
MsgqPost

Defines the types for the post function.

============================================================================

Parameters:
notifyHandlePointer to the notification object for the message queue.
Returns:
DSP_SOK Operation successfully completed. SYNC_E_FAIL General error from GPP-OS. DSP_EPOINTER Invalid pointer passed. DSP_EMEMORY Operation failed due to memory error. ============================================================================
typedef DSP_STATUS(* MsgqPost )(Pvoid notifyHandle)
MSGQ_Attrs

This structure defines the attributes required during opening of the MSGQ.

============================================================================

Parameters:
notifyHandlePointer to the notification object for the message queue.
pendFunction to be used to wait to receive a message.
postFunction to be used to indicate arrival of a message. ============================================================================
typedef struct MSGQ_Attrs_tag MSGQ_Attrs
PCPYMQT_Attrs

This structure defines the attributes for initialization of the PCPY MQT.

============================================================================

Parameters:
poolIdPool ID used for allocating control messages. This pool is also used in case the ID within the message received from the DSP is invalid. ============================================================================
typedef struct PCPYMQT_Attrs_tag PCPYMQT_Attrs
ZCPYMQT_Attrs

This structure defines the attributes for initialization of the ZCPY MQT.

============================================================================

Parameters:
poolIdPool ID used for allocating control messages. ============================================================================
typedef struct ZCPYMQT_Attrs_tag ZCPYMQT_Attrs
DCPYMQT_Attrs

This structure defines the attributes for initialization of the DCPY MQT.

============================================================================

Parameters:
poolIdPool ID used for allocating control messages. ============================================================================
typedef struct DCPYMQT_Attrs_tag DCPYMQT_Attrs
MSGQ_LocateAttrs

This structure defines the attributes required during synchronous location of a MSGQ.

============================================================================

Parameters:
timeoutTimeout value in milliseconds for the locate calls. ============================================================================
typedef struct MSGQ_LocateAttrs_tag MSGQ_LocateAttrs
MSGQ_LocateAsyncAttrs

This structure defines the attributes required during asynchronous location of a MSGQ.

============================================================================

Parameters:
poolIdID of the pool to be used for allocating async locate messages.
argUser-defined argument returned with an async locate message. ============================================================================
typedef struct
MSGQ_LocateAsyncAttrs_tag 
MSGQ_LocateAsyncAttrs
MSGQ_MsgHeader

This structure defines the format of the message header that must be the first field of any message.

============================================================================

Parameters:
reservedReserved for use by the MQT. The MQT typically uses them as a link for queuing the messages.
srcProcIdProcessor Id for the source message queue
poolIdID of the Pool used for allocating this message.
sizeSize of the message including the header.
dstIdID of the destination message queue.
srcIdID of the source message queue for reply.
msgIdUser-specified message ID. ============================================================================
typedef struct MSGQ_MsgHeader_tag MSGQ_MsgHeader
MSGQ_AsyncLocateMsg

This structure defines the asynchronous locate message format.

============================================================================

Parameters:
headerFixed message header required for all messages.
msgqQueueReply message queue specified during MSGQ_locateAsync ().
argUser-defined argument specified as part of the MSGQ_LocateAsyncAttrs ============================================================================
typedef struct
MSGQ_AsyncLocateMsg_tag 
MSGQ_AsyncLocateMsg
MSGQ_AsyncErrorMsg

This structure defines the asynchronous error message format.

============================================================================

Parameters:
headerFixed message header required for all messages.
errorTypeType of error.
arg1First argument dependent on the error type. MSGQ_MQTERROREXIT : Processor ID of the transport. MSGQ_MQTFAILEDPUT : Handle of the destination message queue on which the put failed.
arg2Second argument dependent on the error type. MSGQ_MQTERROREXIT : Not used. MSGQ_MQTFAILEDPUT : Status of the MSGQ_put () call that failed. ============================================================================
typedef struct
MSGQ_AsyncErrorMsg_tag 
MSGQ_AsyncErrorMsg
MSGQ_Msg

This is the type of any buffer used for messaging. ============================================================================

============================================================================

typedef MSGQ_MsgHeaderMSGQ_Msg

MSGQ_Queue

This type is used for identifying a message queue across processors. ============================================================================

============================================================================


#define MSGQ_INVALIDMSGQ   (Uint16) 0xFFFFu
 This constant denotes an invalid message queue. ============================================================================.
#define MSGQ_INVALIDPROCID   (Uint16) 0xFFFFu
 This constant denotes an invalid processor ID. ============================================================================.
#define MSGQ_INTERNALIDSSTART   (Uint16) 0xFF00u
 This constant defines the start of internal MSGQ message ID range. ============================================================================.
#define MSGQ_ASYNCLOCATEMSGID   (Uint16) 0xFF00u
 This constant defines the asynchronous locate message ID. ============================================================================.
#define MSGQ_ASYNCERRORMSGID   (Uint16) 0xFF01u
 This constant defines the asynchronous error message ID. ============================================================================.
#define MSGQ_INTERNALIDSEND   (Uint16) 0xFF7fu
 This constant defines the end of internal MSGQ message ID range. ============================================================================.
#define MSGQ_MQTMSGIDSSTART   (Uint16) 0xFF80u
 This constant defines the start of transport message ID range. ============================================================================.
#define MSGQ_MQTMSGIDSEND   (Uint16) 0xFFFEu
 This constant defines the end of transport message ID range. ============================================================================.
#define MSGQ_INVALIDMSGID   (Uint16) 0xFFFFu
 This constant is used to denote no message ID value. ============================================================================.
#define MSGQ_MQTERROREXIT   (MSGQ_MqtError) -1l
 In an asynchronous error message, this value as the error type indicates that remote MQT has called exit. ============================================================================.
#define MSGQ_MQTFAILEDPUT   (MSGQ_MqtError) -2l
 In an asynchronous error message, this value as the error type indicates that the transport failed to send a message to the remote processor. ============================================================================.
#define MSG_HEADER_RESERVED_SIZE   2u
 This macro defines the size of the reserved field of message header. ============================================================================.
#define IS_VALID_MSGQ(msgq)   (msgq != MSGQ_INVALIDMSGQ)
 Is the MSGQ valid. ============================================================================.
typedef Uint32 MSGQ_Queue

MQT_Interface

Forward declaration of MQT interface table. ============================================================================

============================================================================


#define MsgqMqtError   MSGQ_MqtError
#define MsgqId   MSGQ_Id
#define MsgqQueue   MSGQ_Queue
#define MsgqAttrs   MSGQ_Attrs
#define PcpyMqtAttrs   PCPYMQT_Attrs
#define ZcpyMqtAttrs   ZCPYMQT_Attrs
#define DcpyMqtAttrs   DCPYMQT_Attrs
#define MsgqLocateAttrs   MSGQ_LocateAttrs
#define MsgqLocateAsyncAttrs   MSGQ_LocateAsyncAttrs
#define MsgqMsgHeader   MSGQ_MsgHeader
#define MsgqAsyncLocateMsg   MSGQ_AsyncLocateMsg
#define MsgqAsyncErrorMsg   MSGQ_AsyncErrorMsg
#define MsgqMsg   MSGQ_Msg
#define MqtInterface   MQT_Interface
typedef struct MQT_Interface_tag MQT_Interface

Define Documentation

#define MSGQ_INVALIDMSGQ   (Uint16) 0xFFFFu

This constant denotes an invalid message queue. ============================================================================.

============================================================================

Constant:
MSGQ_INVALIDMSGQ
#define MSGQ_INVALIDPROCID   (Uint16) 0xFFFFu

This constant denotes an invalid processor ID. ============================================================================.

============================================================================

Constant:
MSGQ_INVALIDPROCID
#define MSGQ_INTERNALIDSSTART   (Uint16) 0xFF00u

This constant defines the start of internal MSGQ message ID range. ============================================================================.

============================================================================

Constant:
MSGQ_INTERNAL_ID_START
#define MSGQ_ASYNCLOCATEMSGID   (Uint16) 0xFF00u

This constant defines the asynchronous locate message ID. ============================================================================.

============================================================================

Constant:
MSGQ_ASYNCLOCATEMSGID
#define MSGQ_ASYNCERRORMSGID   (Uint16) 0xFF01u

This constant defines the asynchronous error message ID. ============================================================================.

============================================================================

Constant:
MSGQ_ASYNCERRORMSGID
#define MSGQ_INTERNALIDSEND   (Uint16) 0xFF7fu

This constant defines the end of internal MSGQ message ID range. ============================================================================.

============================================================================

Constant:
MSGQ_INTERNALIDSEND
#define MSGQ_MQTMSGIDSSTART   (Uint16) 0xFF80u

This constant defines the start of transport message ID range. ============================================================================.

============================================================================

Constant:
MSGQ_MQTMSGIDSSTART
#define MSGQ_MQTMSGIDSEND   (Uint16) 0xFFFEu

This constant defines the end of transport message ID range. ============================================================================.

============================================================================

Constant:
MSGQ_MQTMSGIDSEND
#define MSGQ_INVALIDMSGID   (Uint16) 0xFFFFu

This constant is used to denote no message ID value. ============================================================================.

============================================================================

Constant:
MSGQ_INVALIDMSGID
#define MSGQ_MQTERROREXIT   (MSGQ_MqtError) -1l

In an asynchronous error message, this value as the error type indicates that remote MQT has called exit. ============================================================================.

============================================================================

Constant:
MSGQ_MQTERROREXIT
#define MSGQ_MQTFAILEDPUT   (MSGQ_MqtError) -2l

In an asynchronous error message, this value as the error type indicates that the transport failed to send a message to the remote processor. ============================================================================.

============================================================================

Constant:
MSGQ_MQTFAILEDPUT
#define MSG_HEADER_RESERVED_SIZE   2u

This macro defines the size of the reserved field of message header. ============================================================================.

============================================================================

Constant:
MSG_HEADER_RESERVED_SIZE
#define IS_VALID_MSGQ (   msgq )    (msgq != MSGQ_INVALIDMSGQ)

Is the MSGQ valid. ============================================================================.

============================================================================

Macro:
IS_VALID_MSGQ
#define MsgqMqtError   MSGQ_MqtError

============================================================================

Deprecated:
The deprecated data structure MsgqMqtError has been replaced with MSGQ_MqtError

============================================================================

#define MsgqId   MSGQ_Id

============================================================================

Deprecated:
The deprecated data structure MsgqId has been replaced with MSGQ_Id

============================================================================

#define MsgqQueue   MSGQ_Queue

============================================================================

Deprecated:
The deprecated data structure MsgqQueue has been replaced with MSGQ_Queue

============================================================================

#define MsgqAttrs   MSGQ_Attrs

============================================================================

Deprecated:
The deprecated data structure MsgqAttrs has been replaced with MSGQ_Attrs

============================================================================

#define PcpyMqtAttrs   PCPYMQT_Attrs

============================================================================

Deprecated:
The deprecated data structure PcpyMqtAttrs has been replaced with PCPYMQT_Attrs

============================================================================

#define ZcpyMqtAttrs   ZCPYMQT_Attrs

============================================================================

Deprecated:
The deprecated data structure ZcpyMqtAttrs has been replaced with ZCPYMQT_Attrs

============================================================================

#define DcpyMqtAttrs   DCPYMQT_Attrs

============================================================================

Deprecated:
The deprecated data structure DcpyMqtAttrs has been replaced with DCPYMQT_Attrs

============================================================================

#define MsgqLocateAttrs   MSGQ_LocateAttrs

============================================================================

Deprecated:
The deprecated data structure MSGQ_LocateAttrs has been replaced with MSGQ_LocateAttrs

============================================================================

#define MsgqLocateAsyncAttrs   MSGQ_LocateAsyncAttrs

============================================================================

Deprecated:
The deprecated data structure MSGQ_LocateAsyncAttrs has been replaced with MSGQ_LocateAsyncAttrs

============================================================================

#define MsgqMsgHeader   MSGQ_MsgHeader

============================================================================

Deprecated:
The deprecated data structure MsgqMsgHeader has been replaced with MSGQ_MsgHeader

============================================================================

#define MsgqAsyncLocateMsg   MSGQ_AsyncLocateMsg

============================================================================

Deprecated:
The deprecated data structure MSGQ_AsyncLocateMsg has been replaced with MSGQ_AsyncLocateMsg

============================================================================

#define MsgqAsyncErrorMsg   MSGQ_AsyncErrorMsg

============================================================================

Deprecated:
The deprecated data structure MsgqAsyncErrorMsg has been replaced with MSGQ_AsyncErrorMsg

============================================================================

#define MsgqMsg   MSGQ_Msg

============================================================================

Deprecated:
The deprecated data structure MsgqMsg has been replaced with MSGQ_Msg

============================================================================

#define MqtInterface   MQT_Interface

============================================================================

Deprecated:
The deprecated data structure MqtInterface has been replaced with MQT_Interface

============================================================================


Typedef Documentation

typedef Uint16 MSGQ_Id
typedef Uint32 MSGQ_Queue
typedef DSP_STATUS(* MsgqPend)(Pvoid notifyHandle, Uint32 timeout)
typedef DSP_STATUS(* MsgqPost)(Pvoid notifyHandle)
typedef struct MSGQ_Attrs_tag MSGQ_Attrs
typedef struct MQT_Interface_tag MQT_Interface
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2012, Texas Instruments Incorporated