summaryrefslogtreecommitdiffstats
path: root/private/unimodem/inc/tspnotif.h
blob: a8dec23c7c0e04219fbb16e90e32831a47f901be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
//****************************************************************************
//
//  Module:     UNIMDM
//  File:       TSPNOTIF.H
//
//  Copyright (c) 1992-1996, Microsoft Corporation, all rights reserved
//
//  Revision History
//
//
//  3/25/96     JosephJ             Created
//
//
//  Description: Interface to  the Unimodem TSP notification mechanism:
//				 the UnimodemNotifyTSP function, and related typedefs...
//				 UnimodemNotifyTSP is private export of the tsp.
//
//****************************************************************************
#ifndef _TSPNOTIF_H_

#define _TSPNOTIF_H_

#define SLOTNAME_UNIMODEM_NOTIFY_TSP 	TEXT("UnimodemNotifyTSP")
#define dwNFRAME_SIG (0x8cb45651L)
#define MAX_NOTIFICATION_FRAME_SIZE	512


//------------------- Types of notifications --------------------

#define TSPNOTIF_TYPE_CPL		0x1000 // Modem CPL Event Notification

#define TSPNOTIF_TYPE_DEBUG		0x2000	// DEBUG Event Notification

//------------------- Common flags ------------------------------
#define fTSPNOTIF_FLAG_UNICODE	(0x1L<<31)	// If set, all embedded text is
											// in UNICODE.


#define TSP_VALID_FRAME(_frame)	((_frame)->dwSig==dwNFRAME_SIG)
#define TSP_DEBUG_FRAME(_frame)	((_frame)->dwType==TSPNOTIF_TYPE_DEBUG)
#define TSP_CPL_FRAME(_frame) 	((_frame)->dwType==TSPNOTIF_TYPE_CPL)

// The basic frame used to send data to the TSP
typedef struct
{
	DWORD dwSig;		// MUST be dwNFRAME_SIG
	DWORD dwSize;		// Entire size of this structure
	DWORD dwType;		// One of the TSPNOTIF_TYPE_ constants
	DWORD dwFlags;		// Zero or more  fTSPNOTIF_FLAGS_ constants
	BYTE  rgb[];		// Type-dependant data
} NOTIFICATION_FRAME, *PNOTIFICATION_FRAME;

// --------- CPL Notification Structure ---------------------
#define fTSPNOTIF_FLAG_CPL_REENUM    					0x1
#define fTSPNOTIF_FLAG_CPL_DEFAULT_COMMCONFIG_CHANGE	0x2


// The top-level client-side api to send a notification to the TSP
// If it returns FALSE, GetLastError() will report the reason for failure.
BOOL WINAPI UnimodemNotifyTSP(PNOTIFICATION_FRAME pnf);

#endif  //  _TSPNOTIF_H_