📄 gdi.h
字号:
/*
+------------------------------------------------------------------------------
| File: gdi.h
+------------------------------------------------------------------------------
| Copyright Condat AG 1999-2001, Berlin
| All rights reserved.
|
| This file is confidential and a trade secret of Condat AG.
| The receipt of or possession of this file does not convey
| any rights to reproduce or disclose its contents or to
| manufacture, use, or sell anything it may describe, in
| whole, or in part, without the specific written consent of
| Condat AG.
+------------------------------------------------------------------------------
| Purpose: General Definitions.
| $Identity:$
+------------------------------------------------------------------------------
*/
#ifndef GDI_H
#define GDI_H
/*==== INCLUDES =============================================================*/
#include "typedefs.h"
/*==== DEFINITIONS ==========================================================*/
/*--------------------------------
Return values
--------------------------------*/
#ifdef DRV_OK
#undef DRV_OK
#endif
#define DRV_OK 0
#define DRV_BUFFER_FULL 1
#define DRV_DISABLED 2
#define DRV_ENABLED 3
#define DRV_INITFAILURE 4
#define DRV_INITIALIZED 5
#define DRV_INTERNAL_ERROR 6
#define DRV_INPROCESS 7
#define DRV_INVALID_PARAMS 8
#define DRV_NOTCONFIGURED 9
#define DRV_RETVAL_USER 50
/*--------------------------------
Signal types
--------------------------------*/
#define DRV_SIGFCT_NOTAVAILABLE 0x01
#define DRV_SIGTYPE_CLEAR 0x02
#define DRV_SIGTYPE_FLUSH 0x04
#define DRV_SIGTYPE_READ 0x08
#define DRV_SIGTYPE_WRITE 0x10
#define DRV_SIGTYPE_CONNECT 0x20
#define DRV_SIGTYPE_DISCONNECT 0x40
#define DRV_SIGTYPE_USER 0x80
/*--------------------------------
Flags
--------------------------------*/
#define CALLED_FROM_ISR 0x01
/*--------------------------------
Buffer Types
--------------------------------*/
#define DRV_BUFTYPE_READ 0x01
#define DRV_BUFTYPE_WRITE 0x02
/*==== TYPES ================================================================*/
typedef void * drv_ProcHandle_Type;
/*------------------------------------------------------------------------
T_DRV_SIGNAL - driver signal identification
The type defines the signal information data used to identify a signal.
This data type is used to define and to report a signal. A signal is
defined by a process calling the driver function drv_SetSignal. An
event is signalled by driver by calling the pre-defined signal call-
back function.
-------------------------------------------------------------------------*/
typedef struct
{
USHORT SignalType;
USHORT DrvHandle;
ULONG DataLength;
T_VOID_STRUCT *UserData;
} T_DRV_SIGNAL;
/*------------------------------------------------------------------------
T_DRV_CB_FUNC - driver signal device control block
This type defines a call-back function used to signal driver events,
e.g. driver is ready to accept data. The driver calls the signal
call-back function when a specific event occurs and the driver has
been instructed to signal the event to a specific process. A process
can set or reset event signalling by calling one of the driver
functions drv_SetSignal or drv_ResetSignal. Event signalling can only
be performed when a call-back function has been installed at driver
initialization.
-------------------------------------------------------------------------*/
typedef void (*T_DRV_CB_FUNC ) (T_DRV_SIGNAL * Signal);
struct _T_DRV_EXPORT;
typedef struct
{
#ifdef _WIN32_
USHORT (*drv_Init)(USHORT,T_DRV_CB_FUNC,struct _T_DRV_EXPORT const**);
#endif
void (*drv_Exit)(void);
USHORT (*drv_Read)(void*, ULONG*);
USHORT (*drv_Write)(void*, ULONG*);
USHORT (*drv_Look)(void*, ULONG*);
USHORT (*drv_Clear)(USHORT);
USHORT (*drv_Flush)(void);
USHORT (*drv_SetSignal)(USHORT);
USHORT (*drv_ResetSignal)(USHORT);
USHORT (*drv_SetConfig)(char*);
USHORT (*drv_GetConfig)(char*);
void (*drv_Callback)(T_DRV_SIGNAL*);
} T_DRV_FUNC;
typedef struct _T_DRV_EXPORT
{
const char *Name;
USHORT Flags; /* Bit (0): CALLED_BY_ISR */
T_DRV_FUNC DrvFunc;
} T_DRV_EXPORT;
typedef struct
{
char const *Name;
USHORT (*drv_Init)(USHORT, T_DRV_CB_FUNC, T_DRV_EXPORT const **);
char const *Process;
void const *DrvConfig;
} T_DRV_LIST_ENTRY;
typedef struct
{
T_DRV_LIST_ENTRY DrvEntry [ 5 ];
} T_DRV_LIST;
/*==== END OF FILE ==========================================================*/
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -