98 lines
3.4 KiB
C
98 lines
3.4 KiB
C
|
|
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1995 - 1999
|
|
//
|
|
// File: gttran.h
|
|
//
|
|
// Contents: Generic Transport APIs
|
|
//
|
|
// APIs:
|
|
// GTOpen
|
|
// GTSend
|
|
// GTFree
|
|
// GTReceive
|
|
// GTClose
|
|
// GTRecSend
|
|
// GTInitSrv
|
|
// GTUnInitSrv
|
|
//
|
|
// Created KeithV
|
|
//--------------------------------------------------------------------------
|
|
|
|
#ifndef _HGTTRAN_H_
|
|
#define _HGTTRAN_H_
|
|
|
|
#include <tchar.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Encoding types
|
|
//
|
|
// Because the Composit type for ASN is 0x30, we will define this to
|
|
// be the encoding type for it.
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define ASCII_ENCODING 0x0
|
|
#define TLV_ENCODING 0x1
|
|
#define IDL_ENCODING 0x2
|
|
#define OCTET_ENCODING 0x3
|
|
#define ASN_ENCODING 0x30
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Functions will allow you to read, write or both
|
|
// To do both, OR (|) them together.
|
|
//--------------------------------------------------------------------------
|
|
|
|
#define GTREAD 0x00000001
|
|
#define GTWRITE 0x00000002
|
|
|
|
typedef ULONG_PTR HGT;
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Any receiving (listening) DLL must export these functions
|
|
//--------------------------------------------------------------------------
|
|
typedef DWORD (__stdcall * PFNGTRecSend) (DWORD dwEncoding, DWORD cb, const BYTE * pbIn, DWORD * pcbOut, BYTE ** ppbOut);
|
|
typedef DWORD (__stdcall * PFNGTFree) (BYTE * pb);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Functions used by and application that wants to send a message
|
|
// Just like File IO
|
|
//--------------------------------------------------------------------------
|
|
DWORD __stdcall GTOpen(HGT * phTran, const TCHAR * szLibrary, const TCHAR * tszBinding, DWORD fOpen);
|
|
DWORD __stdcall GTSend(HGT hTran, DWORD dwEncoding, DWORD cbSendBuff, const BYTE * pbSendBuff);
|
|
DWORD __stdcall GTFree(HGT hTran, BYTE * pb);
|
|
DWORD __stdcall GTReceive(HGT hTran, DWORD * pdwEncoding, DWORD * pcbReceiveBuff, BYTE ** ppbReceiveBuff);
|
|
DWORD __stdcall GTClose(HGT hTran);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Listening functions for a listening application.
|
|
// The GTFree prototype is also used as specified above
|
|
//--------------------------------------------------------------------------
|
|
DWORD __stdcall GTRecSend(DWORD dwEncoding, DWORD cb, const BYTE * pbIn, DWORD * pcbOut, BYTE ** ppbOut);
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Additonal private listening functions for a listening application.
|
|
// Not generally implemented.
|
|
//--------------------------------------------------------------------------
|
|
DWORD __stdcall GTRecSendNoEncrypt(DWORD dwEncoding, DWORD cb, const BYTE * pbIn, DWORD * pcbOut, BYTE ** ppbOut);
|
|
|
|
|
|
//+-------------------------------------------------------------------------
|
|
// Used to init a receiving DLL, particularly useful for HTTP BGI, CGI application
|
|
//--------------------------------------------------------------------------
|
|
DWORD __stdcall GTInitSrv(TCHAR * tszLibrary);
|
|
DWORD __stdcall GTUnInitSrv(void);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|