183 lines
6.1 KiB
Plaintext
183 lines
6.1 KiB
Plaintext
/******************************************************************************
|
||
*
|
||
* File: sendrcv.x
|
||
*
|
||
* INTEL Corporation Proprietary Information
|
||
* Copyright (c) 1994, 1995, 1996 Intel Corporation.
|
||
*
|
||
* This listing is supplied under the terms of a license agreement
|
||
* with INTEL Corporation and may not be used, copied, nor disclosed
|
||
* except in accordance with the terms of that agreement.
|
||
*
|
||
*****************************************************************************/
|
||
|
||
/******************************************************************************
|
||
*
|
||
* $Workfile: sendrcv.x $
|
||
* $Revision: 1.2 $
|
||
* $Modtime: 05 Jun 1996 16:44:30 $
|
||
* $Log: S:/STURGEON/SRC/H245/INCLUDE/VCS/sendrcv.x_v $
|
||
|
||
Rev 1.2 05 Jun 1996 17:13:02 EHOWARDX
|
||
Eliminated pErrorString.
|
||
|
||
Rev 1.1 05 Jun 1996 16:36:18 EHOWARDX
|
||
Further work in converting to HRESULT.
|
||
|
||
Rev 1.0 09 May 1996 21:05:10 EHOWARDX
|
||
Initial revision.
|
||
*
|
||
* Rev 1.14.1.6 09 May 1996 19:38:24 EHOWARDX
|
||
* Redesigned locking logic and added new functionality.
|
||
*
|
||
* Rev 1.14.1.5 29 Apr 1996 12:51:06 unknown
|
||
* Commented out SRINSTANCE variables related to receive thread.
|
||
*
|
||
* Rev 1.14.1.4 25 Apr 1996 20:23:08 EHOWARDX
|
||
* Eliminated bAsnInitialized.
|
||
*
|
||
* Rev 1.14.1.3 19 Apr 1996 12:57:18 EHOWARDX
|
||
* Updated to 1.19
|
||
*
|
||
* Rev 1.14.1.2 04 Apr 1996 13:26:36 EHOWARDX
|
||
* Attempt to keep up with Dan's changes...
|
||
*
|
||
* Rev 1.14.1.1 02 Apr 1996 19:14:24 unknown
|
||
* Changed to use linkapi.h & eliminated unnecessary fields.
|
||
*
|
||
* Rev 1.14.1.0 29 Mar 1996 20:47:12 EHOWARDX
|
||
*
|
||
* Replaced SRPAPI.H with LINKAPI.H.
|
||
*
|
||
* Rev 1.14 29 Mar 1996 08:05:48 dabrown1
|
||
*
|
||
* Modified SR context to:
|
||
* Add critical section for ASN.1 activity
|
||
* Moved ASN.1 error debug string from stack to context
|
||
*
|
||
* Rev 1.13 19 Mar 1996 17:43:14 helgebax
|
||
*
|
||
* removed h245time.h
|
||
*
|
||
* Rev 1.12 18 Mar 1996 15:11:08 cjutzi
|
||
*
|
||
* - put winspox back in .. sorry.
|
||
*
|
||
* Rev 1.11 18 Mar 1996 10:11:10 cjutzi
|
||
*
|
||
* - removed winspox.h
|
||
*
|
||
* Rev 1.10 13 Mar 1996 11:33:40 DABROWN1
|
||
*
|
||
* Enable logging for ring0
|
||
*
|
||
* Rev 1.8 01 Mar 1996 17:24:00 DABROWN1
|
||
*
|
||
* moved oss 'world' context to h245instance
|
||
*
|
||
* Rev 1.7 28 Feb 1996 14:53:00 DABROWN1
|
||
*
|
||
* Made oss asn.1 errors within sr error range
|
||
*
|
||
* Rev 1.6 26 Feb 1996 18:57:38 EHOWARDX
|
||
*
|
||
* Added bReceiveThread field.
|
||
*
|
||
* Rev 1.5 23 Feb 1996 21:54:56 EHOWARDX
|
||
* Changed to use winspox.
|
||
*
|
||
* Rev 1.4 23 Feb 1996 13:50:58 DABROWN1
|
||
* Added error codes for mbx/thread creation/deletion
|
||
*
|
||
* Rev 1.3 20 Feb 1996 18:56:24 EHOWARDX
|
||
* Added windows mailbox fields and RXMSG structure for message queueing.
|
||
*
|
||
*
|
||
*****************************************************************************/
|
||
|
||
#ifndef STRICT
|
||
#define STRICT
|
||
#endif // not defined STRICT
|
||
|
||
#ifndef _SENDRCV_X
|
||
#define _SENDRCV_X
|
||
|
||
#include "linkapi.h"
|
||
#if defined(USE_RECEIVE_THREAD)
|
||
#include "winspox.h"
|
||
#endif
|
||
|
||
|
||
|
||
///////////////////////////////////////////////////////////////
|
||
///
|
||
/// Received message
|
||
///
|
||
///////////////////////////////////////////////////////////////
|
||
|
||
typedef struct _RXMSG {
|
||
DWORD h245Inst;
|
||
DWORD dwMessage;
|
||
PBYTE pbDataBuf;
|
||
DWORD dwLength;
|
||
} RXMSG;
|
||
|
||
|
||
///////////////////////////////////////////////////////////////
|
||
///
|
||
/// SendRcv Context
|
||
///
|
||
///////////////////////////////////////////////////////////////
|
||
|
||
// Number of buffers based on underlying protocol
|
||
#define MAX_LL_BUFFERS 8 // Max size of rx buffers for any ll protocol
|
||
#define NUM_SRP_LL_RCV_BUFFERS 4 // max required for SRP
|
||
|
||
typedef struct HSRINSTANCE {
|
||
DWORD hLinkLayerInstance; // Instance ID of linklayer
|
||
DWORD_PTR hH245Instance; // Our instance handle
|
||
void * lpRxBuffer[MAX_LL_BUFFERS]; // receive buffers
|
||
DWORD dwPDUSize; // max size of ASN.1 message
|
||
int dwNumRXBuffers; // Number of buffers allocated for RX
|
||
DWORD dwFlushMap; // Shutdown/Flush contrl
|
||
HINSTANCE hLinkModule; // handle to link DLL
|
||
PFxnlinkLayerInit hLinkLayerInit; // Link layer initialization
|
||
PFxnlinkLayerShutdown hLinkShutdown; // Link layer shutdown
|
||
PFxnlinkLayerGetInstance hLinkGetInstance; // Link layer GetInstance
|
||
PFxndatalinkReceiveRequest hLinkReceiveReq; // Link layer receiverequest
|
||
PFxndatalinkSendRequest hLinkSendReq; // Link layer send request
|
||
PFxnlinkLayerFlushChannel hLinkLayerFlushChannel; // Link layer flush channel
|
||
PFxnlinkLayerFlushAll hLinkLayerFlushAll; // Link layer flush all buffers
|
||
HINSTANCE hASN1Module; // ASN1 DLL handle
|
||
#if defined(USE_RECEIVE_THREAD)
|
||
MBX_Handle pMailbox; // Handle to receive mailbox
|
||
TSK_Handle pTaskReceive; // Handle to receive thread
|
||
BOOL bReceiveThread; // TRUE if running off receive thread
|
||
#endif // (USE_RECEIVE_THREAD)
|
||
} hSRINSTANCE, *HSRINSTANCE;
|
||
|
||
|
||
#if 0
|
||
|
||
///////////////////////////////////////////////////////////////
|
||
///
|
||
/// SR Error defines
|
||
///
|
||
///////////////////////////////////////////////////////////////
|
||
#define SR_ERROR_BASE 10000
|
||
|
||
#define SR_ERROR_NOMEM SR_ERROR_BASE+1 // Memory allocation failure
|
||
#define SR_ASN1_INIT_FAIL SR_ERROR_BASE+2
|
||
#define SR_INVALID_CONTEXT SR_ERROR_BASE+3
|
||
#define SR_INVALID_CONFIGURATION SR_ERROR_BASE+4
|
||
#define SR_CREATE_MBX_FAIL SR_ERROR_BASE+5
|
||
#define SR_POST_BUFFER_FAIL SR_ERROR_BASE+6
|
||
#define SR_THREAD_CREATE_ERROR SR_ERROR_BASE+7
|
||
#define SR_FILE_CREATE_ERROR SR_ERROR_BASE+8
|
||
#define SR_LINK_INIT_FAILURE SR_ERROR_BASE+9
|
||
#define SR_LINK_DLL_OPEN_FAIL SR_ERROR_BASE+10
|
||
|
||
#endif
|
||
|
||
#endif // _SENDRCV_X
|
||
|