370 lines
18 KiB
C
370 lines
18 KiB
C
/**INC+**********************************************************************/
|
|
/* Header: adcgctyp.h */
|
|
/* */
|
|
/* Purpose: Complex types - portable include file. */
|
|
/* */
|
|
/* Copyright(C) Microsoft Corporation 1997 */
|
|
/* */
|
|
/****************************************************************************/
|
|
/** Changes:
|
|
* $Log: Y:/logs/h/dcl/ADCGCTYP.H_v $
|
|
*
|
|
* Rev 1.7 07 Aug 1997 14:33:46 MR
|
|
* SFR1133: Persuade Wd to compile under C++
|
|
*
|
|
* Rev 1.6 23 Jul 1997 10:47:54 mr
|
|
* SFR1079: Merged \server\h duplicates to \h\dcl
|
|
*
|
|
* Rev 1.5 10 Jul 1997 11:51:36 AK
|
|
* SFR1016: Initial changes to support Unicode
|
|
**/
|
|
/**INC-**********************************************************************/
|
|
#ifndef _H_ADCGCTYP
|
|
#define _H_ADCGCTYP
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* INCLUDES */
|
|
/* */
|
|
/****************************************************************************/
|
|
/****************************************************************************/
|
|
/* Include appropriate header files. */
|
|
/****************************************************************************/
|
|
#ifndef __midl
|
|
#ifndef OS_WINCE
|
|
#include <time.h>
|
|
#endif // OS_WINCE
|
|
#endif
|
|
|
|
/****************************************************************************/
|
|
/* Include the proxy header. This will then include the appropriate OS */
|
|
/* specific header for us. */
|
|
/****************************************************************************/
|
|
#include <wdcgctyp.h>
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* TYPES */
|
|
/* */
|
|
/****************************************************************************/
|
|
/****************************************************************************/
|
|
/* DC-Share specific types. Note that some of these are OS specific so */
|
|
/* the actual type definition appears in an OS specific header. However */
|
|
/* the definition of the pointer to type is OS independant and therefore */
|
|
/* appears in this file. */
|
|
/****************************************************************************/
|
|
typedef DCUINT32 DCAPPID;
|
|
typedef DCUINT32 DCWINID;
|
|
typedef DCUINT DCLOCALPERSONID;
|
|
typedef DCUINT DCNETPERSONID;
|
|
typedef DCUINT32 DCENTITYID;
|
|
|
|
typedef DCAPPID DCPTR PDCAPPID;
|
|
typedef DCWINID DCPTR PDCWINID;
|
|
typedef DCLOCALPERSONID DCPTR PDCLOCALPERSONID;
|
|
typedef DCNETPERSONID DCPTR PDCNETPERSONID;
|
|
typedef DCENTITYID DCPTR PDCENTITYID;
|
|
|
|
typedef DCREGIONID DCPTR PDCREGIONID;
|
|
typedef DCPALID DCPTR PDCPALID;
|
|
typedef DCCURSORID DCPTR PDCCURSORID;
|
|
typedef DCHFONT DCPTR PDCHFONT;
|
|
typedef DCFILETIME DCPTR PDCFILETIME;
|
|
typedef DCHFILE DCPTR PDCHFILE;
|
|
|
|
typedef PDCACHAR PDCSTR;
|
|
typedef DCUINT ATRETCODE;
|
|
typedef PDCVOID SYSREGION;
|
|
|
|
typedef SYSRECT DCPTR PSYSRECT;
|
|
typedef SYSAPPID DCPTR PSYSAPPID;
|
|
typedef SYSWINID DCPTR PSYSWINID;
|
|
typedef SYSBITMAP DCPTR PSYSBITMAP;
|
|
typedef SYSBMIHEADER DCPTR PSYSBMIHEADER;
|
|
typedef SYSBMI DCPTR PSYSBMI;
|
|
typedef SYSPOINT DCPTR PSYSPOINT;
|
|
typedef SYSREGION DCPTR PSYSREGION;
|
|
|
|
/****************************************************************************/
|
|
/* Window and dialog procedure typedefs. */
|
|
/****************************************************************************/
|
|
#if !defined(DLL_DISP) && !defined(DLL_WD)
|
|
typedef WNDPROC PDCWNDPROC;
|
|
typedef DLGPROC PDCDLGPROC;
|
|
#endif
|
|
|
|
typedef WPARAM DCPARAM1;
|
|
typedef LPARAM DCPARAM2;
|
|
|
|
/****************************************************************************/
|
|
/* Time typedefs. */
|
|
/****************************************************************************/
|
|
typedef time_t DC_LONGTIME;
|
|
typedef struct tm DC_TMTIME;
|
|
|
|
/****************************************************************************/
|
|
/* */
|
|
/* STRUCTURES */
|
|
/* */
|
|
/****************************************************************************/
|
|
/****************************************************************************/
|
|
/* RGBQUAD */
|
|
/* ======= */
|
|
/* rgbBlue : blue value. */
|
|
/* rgbGreen : green value. */
|
|
/* */
|
|
/* rgbRed : red value. */
|
|
/* rgbReserved : reserved. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCRGBQUAD
|
|
{
|
|
DCUINT8 rgbBlue;
|
|
DCUINT8 rgbGreen;
|
|
DCUINT8 rgbRed;
|
|
DCUINT8 rgbReserved;
|
|
} DCRGBQUAD;
|
|
typedef DCRGBQUAD DCPTR PDCRGBQUAD;
|
|
|
|
/****************************************************************************/
|
|
/* DCRECT16 */
|
|
/* ======== */
|
|
/* This is an OS independant rectangle structure. */
|
|
/* */
|
|
/* left : left position. */
|
|
/* top : top position. */
|
|
/* right : right position. */
|
|
/* bottom : bottom position. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCRECT16
|
|
{
|
|
DCINT16 left;
|
|
DCINT16 top;
|
|
DCINT16 right;
|
|
DCINT16 bottom;
|
|
} DCRECT16;
|
|
typedef DCRECT16 DCPTR PDCRECT16;
|
|
|
|
/****************************************************************************/
|
|
/* DCRECT */
|
|
/* ====== */
|
|
/* left : left position. */
|
|
/* top : top position. */
|
|
/* right : right position. */
|
|
/* bottom : bottom position. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCRECT
|
|
{
|
|
DCINT left;
|
|
DCINT top;
|
|
DCINT right;
|
|
DCINT bottom;
|
|
} DCRECT;
|
|
typedef DCRECT DCPTR PDCRECT;
|
|
|
|
/****************************************************************************/
|
|
/* DCRGB */
|
|
/* ===== */
|
|
/* red : red value. */
|
|
/* green : green value. */
|
|
/* blue : blue value. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCRGB
|
|
{
|
|
DCUINT8 red;
|
|
DCUINT8 green;
|
|
DCUINT8 blue;
|
|
} DCRGB;
|
|
typedef DCRGB DCPTR PDCRGB;
|
|
|
|
/****************************************************************************/
|
|
/* DCCOLOR */
|
|
/* ======= */
|
|
/* */
|
|
/* Union of DCRGB and an index into a color table */
|
|
/* */
|
|
/****************************************************************************/
|
|
typedef struct tagDCCOLOR
|
|
{
|
|
union
|
|
{
|
|
DCRGB rgb;
|
|
DCUINT8 index;
|
|
} u;
|
|
} DCCOLOR;
|
|
typedef DCCOLOR DCPTR PDCCOLOR;
|
|
|
|
/****************************************************************************/
|
|
/* DCSIZE */
|
|
/* ====== */
|
|
/* width : x dimension. */
|
|
/* height : y dimension. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCSIZE
|
|
{
|
|
DCUINT width;
|
|
DCUINT height;
|
|
} DCSIZE;
|
|
typedef DCSIZE DCPTR PDCSIZE;
|
|
|
|
/****************************************************************************/
|
|
/* DCPOINT */
|
|
/* ======= */
|
|
/* x : x co-ordinate. */
|
|
/* y : y co-ordinate. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCPOINT
|
|
{
|
|
DCINT x;
|
|
DCINT y;
|
|
} DCPOINT;
|
|
typedef DCPOINT DCPTR PDCPOINT;
|
|
|
|
/****************************************************************************/
|
|
/* DCPOINT16 */
|
|
/* ========= */
|
|
/* x : x co-ordinate. */
|
|
/* y : y co-ordinate. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCPOINT16
|
|
{
|
|
DCINT16 x;
|
|
DCINT16 y;
|
|
} DCPOINT16;
|
|
typedef DCPOINT16 DCPTR PDCPOINT16;
|
|
|
|
/****************************************************************************/
|
|
/* DCPOINT32 */
|
|
/* ========= */
|
|
/* x : x co-ordinate. */
|
|
/* y : y co-ordinate. */
|
|
/****************************************************************************/
|
|
typedef struct tagDCPOINT32
|
|
{
|
|
DCINT32 x;
|
|
DCINT32 y;
|
|
} DCPOINT32;
|
|
typedef DCPOINT32 DCPTR PDCPOINT32;
|
|
|
|
#ifndef __midl
|
|
/****************************************************************************/
|
|
/* BITMAPINFO_ours */
|
|
/* =============== */
|
|
/* bmiHeader : */
|
|
/* bmiColors : */
|
|
/****************************************************************************/
|
|
typedef struct tagBITMAPINFO_ours
|
|
{
|
|
SYSBMIHEADER bmiHeader;
|
|
DCRGBQUAD bmiColors[256];
|
|
} BITMAPINFO_ours;
|
|
|
|
/****************************************************************************/
|
|
/* BITMAPINFO_PLUS */
|
|
/* =============== */
|
|
/* bmiHeader : */
|
|
/* bmiColors : */
|
|
/****************************************************************************/
|
|
typedef struct tagBINFO_PLUS
|
|
{
|
|
SYSBMIHEADER bmiHeader;
|
|
DCRGBQUAD bmiColors[256];
|
|
} BITMAPINFO_PLUS_COLOR_TABLE;
|
|
#endif
|
|
|
|
/****************************************************************************/
|
|
/* DC_DATE */
|
|
/* ======= */
|
|
/* day : day of the month (1-31). */
|
|
/* month : month (1-12). */
|
|
/* year : year (e.g. 1996). */
|
|
/****************************************************************************/
|
|
typedef struct tagDC_DATE
|
|
{
|
|
DCUINT8 day;
|
|
DCUINT8 month;
|
|
DCUINT16 year;
|
|
} DC_DATE;
|
|
typedef DC_DATE DCPTR PDC_DATE;
|
|
|
|
/****************************************************************************/
|
|
/* DC_TIME */
|
|
/* ======= */
|
|
/* hour : hour (0-23). */
|
|
/* min : minute (0-59). */
|
|
/* sec : seconds (0-59). */
|
|
/* hundredths : hundredths of a second (0-99). */
|
|
/****************************************************************************/
|
|
typedef struct tagDC_TIME
|
|
{
|
|
DCUINT8 hour;
|
|
DCUINT8 min;
|
|
DCUINT8 sec;
|
|
DCUINT8 hundredths;
|
|
} DC_TIME;
|
|
typedef DC_TIME DCPTR PDC_TIME;
|
|
|
|
/****************************************************************************/
|
|
/* Types of addresses supported by Groupware (these go in the <addressType> */
|
|
/* field of the DC_PERSON_ADDRESS structure): */
|
|
/****************************************************************************/
|
|
#define DC_ADDRESS_TYPE_NONE 0
|
|
#define DC_ADDRESS_TYPE_NETBIOS 1
|
|
#define DC_ADDRESS_TYPE_IPXSPX 2
|
|
#define DC_ADDRESS_TYPE_VIRTUAL_ASYNC 3
|
|
#define DC_ADDRESS_TYPE_MODEM 4
|
|
#define DC_ADDRESS_TYPE_LIVELAN 5
|
|
#define DC_ADDRESS_TYPE_PCS100 6
|
|
|
|
/****************************************************************************/
|
|
/* This is the max number of addresses the address book will store for */
|
|
/* one person: */
|
|
/****************************************************************************/
|
|
#define DC_MAX_ADDRESSES_PER_PERSON 6
|
|
|
|
/****************************************************************************/
|
|
/* These constants define the maximum length of person names and addresses */
|
|
/* supported by the Address Book. */
|
|
/****************************************************************************/
|
|
#define DC_MAX_NAME_LEN 48 /* for general purpose names */
|
|
/* (includes the nul term) */
|
|
#define DC_MAX_ADDR_DATA_LEN 48 /* for general purpose addresses */
|
|
/* this may be binary data */
|
|
|
|
/****************************************************************************/
|
|
/* Defines the maximum number of BYTES allowed in a translated "shared by " */
|
|
/* string. */
|
|
/****************************************************************************/
|
|
#define DC_MAX_SHARED_BY_BUFFER 64
|
|
#ifdef DESKTOPSHARING
|
|
#define DC_MAX_SHAREDDESKTOP_BUFFER 64
|
|
#endif /*DESKTOPSHARING*/
|
|
|
|
/****************************************************************************/
|
|
/* Address for a specific transport type: */
|
|
/****************************************************************************/
|
|
typedef struct tagDC_PERSON_ADDRESS
|
|
{
|
|
DCUINT16 addressType; /* N'bios, async, IPX... */
|
|
DCUINT16 addressLen; /* length of <addressData>*/
|
|
DCACHAR addressData[DC_MAX_ADDR_DATA_LEN]; /* TDD specific data */
|
|
} DC_PERSON_ADDRESS;
|
|
typedef DC_PERSON_ADDRESS DCPTR PDC_PERSON_ADDRESS;
|
|
|
|
/****************************************************************************/
|
|
/* General purpose address holder */
|
|
/****************************************************************************/
|
|
typedef struct tagDC_PERSON
|
|
{
|
|
DCACHAR name[DC_MAX_NAME_LEN];
|
|
|
|
/* textual name - displayed to user */
|
|
/* (must be NULL-terminated). */
|
|
|
|
DC_PERSON_ADDRESS address[DC_MAX_ADDRESSES_PER_PERSON];
|
|
|
|
/* array of addresses for this person */
|
|
} DC_PERSON;
|
|
typedef DC_PERSON DCPTR PDC_PERSON;
|
|
|
|
#endif /* _H_ADCGCTYP */
|