This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/Borland/BCC55/Include/faxdev.h

205 lines
4.6 KiB
C

#pragma option push -b -a8 -pc -A- /*P_O_Push*/
/*++
Copyright (c) 1996-1999 Microsoft Corporation
Module Name:
faxdev.h
Abstract:
This file contains the prototypes, etc for the
FAX device provider API.
--*/
#include <commctrl.h>
#ifndef _FAXDEV_
#define _FAXDEV_
#if _MSC_VER > 1000
#pragma once
#endif
#ifdef __cplusplus
extern "C" {
#endif
//
// FAX status constants
//
#define FS_INITIALIZING 0x20000000
#define FS_DIALING 0x20000001
#define FS_TRANSMITTING 0x20000002
#define FS_RECEIVING 0x20000004
#define FS_COMPLETED 0x20000008
#define FS_HANDLED 0x20000010
#define FS_LINE_UNAVAILABLE 0x20000020
#define FS_BUSY 0x20000040
#define FS_NO_ANSWER 0x20000080
#define FS_BAD_ADDRESS 0x20000100
#define FS_NO_DIAL_TONE 0x20000200
#define FS_DISCONNECTED 0x20000400
#define FS_FATAL_ERROR 0x20000800 // see the stringid for the real status
#define FS_NOT_FAX_CALL 0x20001000
#define FS_CALL_DELAYED 0x20002000
#define FS_CALL_BLACKLISTED 0x20004000
#define FS_USER_ABORT 0x20200000
#define FS_ANSWERED 0x20800000
//
// data structures
//
typedef struct _FAX_SEND {
DWORD SizeOfStruct;
LPWSTR FileName;
LPWSTR CallerName;
LPWSTR CallerNumber;
LPWSTR ReceiverName;
LPWSTR ReceiverNumber;
BOOL Branding;
HCALL CallHandle;
DWORD Reserved[3];
} FAX_SEND, *PFAX_SEND;
typedef struct _FAX_RECEIVE {
DWORD SizeOfStruct;
LPWSTR FileName;
LPWSTR ReceiverName;
LPWSTR ReceiverNumber;
DWORD Reserved[4];
} FAX_RECEIVE, *PFAX_RECEIVE;
typedef struct _FAX_DEV_STATUS {
DWORD SizeOfStruct;
DWORD StatusId;
DWORD StringId;
DWORD PageCount;
LPWSTR CSI;
LPWSTR CallerId;
LPWSTR RoutingInfo;
DWORD ErrorCode;
DWORD Reserved[3];
} FAX_DEV_STATUS, *PFAX_DEV_STATUS;
typedef BOOL
(CALLBACK *PFAX_SERVICE_CALLBACK)(
IN HANDLE FaxHandle,
IN DWORD DeviceId,
IN DWORD_PTR Param1,
IN DWORD_PTR Param2,
IN DWORD_PTR Param3
);
typedef void
(CALLBACK *PFAX_LINECALLBACK)(
IN HANDLE FaxHandle,
IN DWORD hDevice,
IN DWORD dwMessage,
IN DWORD_PTR dwInstance,
IN DWORD_PTR dwParam1,
IN DWORD_PTR dwParam2,
IN DWORD_PTR dwParam3
);
BOOL WINAPI
FaxDevInitialize(
IN HLINEAPP LineAppHandle,
IN HANDLE HeapHandle,
OUT PFAX_LINECALLBACK *LineCallbackFunction,
IN PFAX_SERVICE_CALLBACK FaxServiceCallback
);
BOOL WINAPI
FaxDevVirtualDeviceCreation(
OUT LPDWORD DeviceCount,
OUT LPWSTR DeviceNamePrefix,
OUT LPDWORD DeviceIdPrefix,
IN HANDLE CompletionPort,
IN ULONG_PTR CompletionKey
);
BOOL WINAPI
FaxDevStartJob(
IN HLINE LineHandle,
IN DWORD DeviceId,
OUT PHANDLE FaxHandle,
IN HANDLE CompletionPortHandle,
IN ULONG_PTR CompletionKey
);
BOOL WINAPI
FaxDevEndJob(
IN HANDLE FaxHandle
);
typedef BOOL
(CALLBACK *PFAX_SEND_CALLBACK)(
IN HANDLE FaxHandle,
IN HCALL CallHandle,
IN DWORD Reserved1,
IN DWORD Reserved2
);
BOOL WINAPI
FaxDevSend(
IN HANDLE FaxHandle,
IN PFAX_SEND FaxSend,
IN PFAX_SEND_CALLBACK FaxSendCallback
);
#define FAXDEVRECEIVE_SIZE 4096
BOOL WINAPI
FaxDevReceive(
IN HANDLE FaxHandle,
IN HCALL CallHandle,
IN OUT PFAX_RECEIVE FaxReceive
);
#define FAXDEVREPORTSTATUS_SIZE 4096
BOOL WINAPI
FaxDevReportStatus(
IN HANDLE FaxHandle OPTIONAL,
OUT PFAX_DEV_STATUS FaxStatus,
IN DWORD FaxStatusSize,
OUT LPDWORD FaxStatusSizeRequired
);
BOOL WINAPI
FaxDevAbortOperation(
IN HANDLE FaxHandle
);
BOOL WINAPI
FaxDevConfigure(
OUT HPROPSHEETPAGE *PropSheetPage
);
typedef BOOL (WINAPI *PFAXDEVINITIALIZE) (HLINEAPP,HANDLE,PFAX_LINECALLBACK*,PFAX_SERVICE_CALLBACK);
typedef BOOL (WINAPI *PFAXDEVVIRTUALDEVICECREATION) (LPDWORD,LPWSTR,LPDWORD,HANDLE,ULONG_PTR);
typedef BOOL (WINAPI *PFAXDEVSTARTJOB) (HLINE,DWORD,PHANDLE,HANDLE,ULONG_PTR);
typedef BOOL (WINAPI *PFAXDEVENDJOB) (HANDLE);
typedef BOOL (WINAPI *PFAXDEVSEND) (HANDLE,PFAX_SEND,PFAX_SEND_CALLBACK);
typedef BOOL (WINAPI *PFAXDEVRECEIVE) (HANDLE,HCALL,PFAX_RECEIVE);
typedef BOOL (WINAPI *PFAXDEVREPORTSTATUS) (HANDLE,PFAX_DEV_STATUS,DWORD,LPDWORD);
typedef BOOL (WINAPI *PFAXDEVABORTOPERATION) (HANDLE);
typedef BOOL (WINAPI *PFAXDEVCONFIGURE) (HPROPSHEETPAGE*);
#ifdef __cplusplus
}
#endif
#endif
#pragma option pop /*P_O_Pop*/