Commit in reactos on MAIN
config+1-11.20 -> 1.21
include/WinFax.h+663added 1.1
lib/winfax/.cvsignore+8added 1.1
          /Makefile+50added 1.1
          /precomp.h+11added 1.1
          /winfax.c+633added 1.1
          /winfax.def+60added 1.1
          /winfax.rc+38added 1.1
+1464-1
7 added + 1 modified, total 8 files
added stubs for winfax.dll

reactos
config 1.20 -> 1.21
diff -u -r1.20 -r1.21
--- config	17 Sep 2004 14:48:20 -0000	1.20
+++ config	2 Oct 2004 16:43:05 -0000	1.21
@@ -25,7 +25,7 @@
 #
 # Whether to compile for debugging
 #
-DBG := 0
+DBG := 1
 
 #
 # Whether to compile with optimizations

reactos/include
WinFax.h added at 1.1
diff -N WinFax.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ WinFax.h	2 Oct 2004 16:43:05 -0000	1.1
@@ -0,0 +1,663 @@
+/*
+ * winfax.h
+ *
+ * FAX API Support
+ *
+ * THIS SOFTWARE IS NOT COPYRIGHTED
+ *
+ * This source code is offered for use in the public domain. You may
+ * use, modify or distribute it freely.
+ *
+ * This code is distributed in the hope that it will be useful but
+ * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
+ * DISCLAIMED. This includes but is not limited to warranties of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ */
+
+#ifndef __WINFAX_H
+#define __WINFAX_H
+#if __GNUC__ >=3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+typedef DWORD HCALL;
+
+typedef struct _FAX_TIME
+{
+  WORD Hour;
+  WORD Minute;
+} FAX_TIME, *PFAX_TIME;
+
+typedef enum
+{
+  JSA_NOW = 0,
+  JSA_SPECIFIC_TIME,
+  JSA_DISCOUNT_PERIOD
+} FAX_ENUM_JOB_SEND_ATTRIBUTES;
+
+typedef enum
+{
+  DRT_NONE = 0,
+  DRT_EMAIL,
+  DRT_INBOX
+} FAX_ENUM_DELIVERY_REPORT_TYPES;
+
+typedef enum
+{
+  FAXLOG_CATEGORY_INIT = 1,
+  FAXLOG_CATEGORY_OUTBOUND,
+  FAXLOG_CATEGORY_INBOUND,
+  FAXLOG_CATEGORY_UNKNOWN
+} FAX_ENUM_LOG_CATEGORIES;
+
+typedef enum
+{
+  FAXLOG_LEVEL_NONE = 0,
+  FAXLOG_LEVEL_MIN,
+  FAXLOG_LEVEL_MED,
+  FAXLOG_LEVEL_MAX
+} FAX_ENUM_LOG_LEVELS;
+
+typedef enum
+{
+  PORT_OPEN_QUERY = 1,
+  PORT_OPEN_MODIFY
+} FAX_ENUM_PORT_OPEN_TYPE;
+
+typedef enum
+{
+  JC_UNKNOWN = 0,
+  JC_DELETE,
+  JC_PAUSE,
+  JC_RESUME
+} FAX_ENUM_JOB_COMMANDS;
+
+#define JT_UNKNOWN      0
+#define JT_SEND         1
+#define JT_RECEIVE      2
+#define JT_ROUTING      3
+#define JT_FAIL_RECEIVE 4
+
+#define JS_PENDING          0x0
+#define JS_INPROGRESS       0x1
+#define JS_DELETING         0x2
+#define JS_FAILED           0x4
+#define JS_PAUSED           0x8
+#define JS_NOLINE           0x10
+#define JS_RETRYING         0x20
+#define JS_RETRIES_EXCEEDED 0x40
+
+#define FPS_DIALING          0x20000001
+#define FPS_SENDING          0x20000002
+#define FPS_RECEIVING        0x20000004
+#define FPS_COMPLETED        0x20000008
+#define FPS_HANDLED          0x20000010
+#define FPS_UNAVAILABLE      0x20000020
+#define FPS_BUSY             0x20000040
+#define FPS_NO_ANSWER        0x20000080
+#define FPS_BAD_ADDRESS      0x20000100
+#define FPS_NO_DIAL_TONE     0x20000200
+#define FPS_DISCONNECTED     0x20000400
+#define FPS_FATAL_ERROR      0x20000800
+#define FPS_NOT_FAX_CALL     0x20001000
+#define FPS_CALL_DELAYED     0x20002000
+#define FPS_CALL_BLACKLISTED 0x20004000
+#define FPS_INITIALIZING     0x20008000
+#define FPS_OFFLINE          0x20010000
+#define FPS_RINGING          0x20020000
+#define FPS_AVAILABLE        0x20100000
+#define FPS_ABORTING         0x20200000
+#define FPS_ROUTING          0x20400000
+#define FPS_ANSWERED         0x20800000
+
+#define FPF_RECEIVE 0x1
+#define FPF_SEND    0x2
+#define FPF_VIRTUAL 0x4
+
+typedef struct _FAX_JOB_PARAMA
+{
+  DWORD SizeOfStruct;
+  LPCSTR RecipientNumber;
+  LPCSTR RecipientName;
+  LPCSTR Tsid;
+  LPCSTR SenderName;
+  LPCSTR SenderCompany;
+  LPCSTR SenderDept;
+  LPCSTR BillingCode;
+  DWORD ScheduleAction;
+  SYSTEMTIME ScheduleTime;
+  DWORD DeliveryReportType;
+  LPCSTR DeliveryReportAddress;
+  LPCSTR DocumentName;
+  HCALL CallHandle;
+  DWORD_PTR Reserved[3];
+} FAX_JOB_PARAMA, *PFAX_JOB_PARAMA;
+
+typedef struct _FAX_JOB_PARAMW
+{
+  DWORD SizeOfStruct;
+  LPCWSTR RecipientNumber;
+  LPCWSTR RecipientName;
+  LPCWSTR Tsid;
+  LPCWSTR SenderName;
+  LPCWSTR SenderCompany;
+  LPCWSTR SenderDept;
+  LPCWSTR BillingCode;
+  DWORD ScheduleAction;
+  SYSTEMTIME ScheduleTime;
+  DWORD DeliveryReportType;
+  LPCWSTR DeliveryReportAddress;
+  LPCWSTR DocumentName;
+  HCALL CallHandle;
+  DWORD_PTR Reserved[3];
+} FAX_JOB_PARAMW, *PFAX_JOB_PARAMW;
+
+typedef struct _FAX_COVERAGE_INFOA
+{
+  DWORD SizeOfStruct;
+
+  LPCSTR CoverPageName;
+  BOOL UseServerCoverPage;
+  
+  LPCSTR RecName;
+  LPCSTR RecFaxNumber;
+  LPCSTR RecCompany;
+  LPCSTR RecStreetAddress;
+  LPCSTR RecCity;
+  LPCSTR RecState;
+  LPCSTR RecZip;
+  LPCSTR RecCountry;
+  LPCSTR RecTitle;
+  LPCSTR RecDepartment;
+  LPCSTR RecOfficeLocation;
+  LPCSTR RecHomePhone;
+  LPCSTR RecOfficePhone;
+  
+  LPCSTR SdrName;
+  LPCSTR SdrFaxNumber;
+  LPCSTR SdrCompany;
+  LPCSTR SdrAddress;
+  LPCSTR SdrTitle;
+  LPCSTR SdrDepartment;
+  LPCSTR SdrOfficeLocation;
+  LPCSTR SdrHomePhone;
+  LPCSTR SdrOfficePhone;
+  
+  LPCSTR Node;
+  LPCSTR Subject;
+  SYSTEMTIME TimeSent;
+  DWORD PageCount;
+} FAX_COVERAGE_INFOA, *PFAX_COVERAGE_INFOA;
+
+typedef struct _FAX_COVERAGE_INFOW
+{
+  DWORD SizeOfStruct;
+
+  LPCWSTR CoverPageName;
+  BOOL UseServerCoverPage;
+
+  LPCWSTR RecName;
+  LPCWSTR RecFaxNumber;
+  LPCWSTR RecCompany;
+  LPCWSTR RecStreetAddress;
+  LPCWSTR RecCity;
+  LPCWSTR RecState;
+  LPCWSTR RecZip;
+  LPCWSTR RecCountry;
+  LPCWSTR RecTitle;
+  LPCWSTR RecDepartment;
+  LPCWSTR RecOfficeLocation;
+  LPCWSTR RecHomePhone;
+  LPCWSTR RecOfficePhone;
+
+  LPCWSTR SdrName;
+  LPCWSTR SdrFaxNumber;
+  LPCWSTR SdrCompany;
+  LPCWSTR SdrAddress;
+  LPCWSTR SdrTitle;
+  LPCWSTR SdrDepartment;
+  LPCWSTR SdrOfficeLocation;
+  LPCWSTR SdrHomePhone;
+  LPCWSTR SdrOfficePhone;
+
+  LPCWSTR Node;
+  LPCWSTR Subject;
+  SYSTEMTIME TimeSent;
+  DWORD PageCount;
+} FAX_COVERAGE_INFOW, *PFAX_COVERAGE_INFOW;
+
+typedef struct _FAX_GLOBAL_ROUTING_INFOA
+{
+  DWORD SizeOfStruct;
+  DWORD Priority;
+  LPCSTR Guid;
+  LPCSTR FriendlyName;
+  LPCSTR FunctionName;
+  LPCSTR ExtensionImageName;
+  LPCSTR ExtensionFriendlyName;
+} FAX_GLOBAL_ROUTING_INFOA, *PFAX_GLOBAL_ROUTING_INFOA;
+
+typedef struct _FAX_GLOBAL_ROUTING_INFOW
+{
+  DWORD SizeOfStruct;
+  DWORD Priority;
+  LPCWSTR Guid;
+  LPCWSTR FriendlyName;
+  LPCWSTR FunctionName;
+  LPCWSTR ExtensionImageName;
+  LPCWSTR ExtensionFriendlyName;
+} FAX_GLOBAL_ROUTING_INFOW, *PFAX_GLOBAL_ROUTING_INFOW;
+
+typedef struct _FAX_JOB_ENTRYA
+{
+  DWORD SizeOfStruct;
+  DWORD JobId;
+  LPCSTR UserName;
+  DWORD JobType;
+  DWORD QueueStatus;
+  DWORD Status;
+  DWORD Size;
+  DWORD PageCount;
+  LPCSTR RecipientNumber;
+  LPCSTR RecipientName;
+  LPCSTR Tsid;
+  LPCSTR SenderName;
+  LPCSTR SenderCompany;
+  LPCSTR SenderDept;
+  LPCSTR BillingCode;
+  DWORD ScheduleAction;
+  SYSTEMTIME ScheduleTime;
+  DWORD DeliveryReportType;
+  LPCSTR DeliveryReportAddress;
+  LPCSTR DocumentName;
+} FAX_JOB_ENTRYA, *PFAX_JOB_ENTRYA;
+
+typedef struct _FAX_JOB_ENTRYW
+{
+  DWORD SizeOfStruct;
+  DWORD JobId;
+  LPCWSTR UserName;
+  DWORD JobType;
+  DWORD QueueStatus;
+  DWORD Status;
+  DWORD Size;
+  DWORD PageCount;
+  LPCWSTR RecipientNumber;
+  LPCWSTR RecipientName;
+  LPCWSTR Tsid;
+  LPCWSTR SenderName;
+  LPCWSTR SenderCompany;
+  LPCWSTR SenderDept;
+  LPCWSTR BillingCode;
+  DWORD ScheduleAction;
+  SYSTEMTIME ScheduleTime;
+  DWORD DeliveryReportType;
+  LPCWSTR DeliveryReportAddress;
+  LPCWSTR DocumentName;
+} FAX_JOB_ENTRYW, *PFAX_JOB_ENTRYW;
+
+typedef struct _FAX_PORT_INFOA
+{
+  DWORD SizeOfStruct;
+  DWORD DeviceId;
+  DWORD State;
+  DWORD Flags;
+  DWORD Rings;
+  DWORD Priority;
+  LPCSTR DeviceName;
+  LPCSTR Tsid;
+  LPCSTR Csid;
+} FAX_PORT_INFOA, *PFAX_PORT_INFOA;
+
+typedef struct _FAX_PORT_INFOW
+{
+  DWORD SizeOfStruct;
+  DWORD DeviceId;
+  DWORD State;
+  DWORD Flags;
+  DWORD Rings;
+  DWORD Priority;
+  LPCWSTR DeviceName;
+  LPCWSTR Tsid;
+  LPCWSTR Csid;
+} FAX_PORT_INFOW, *PFAX_PORT_INFOW;
+
+typedef struct _FAX_ROUTING_METHODA
+{
+  DWORD SizeOfStruct;
+  DWORD DeviceId;
+  BOOL Enabled;
+  LPCSTR DeviceName;
+  LPCSTR Guid;
+  LPCSTR FriendlyName;
+  LPCSTR FunctionName;
+  LPCSTR ExtensionImageName;
+  LPCSTR ExtensionFriendlyName;
+} FAX_ROUTING_METHODA, *PFAX_ROUTING_METHODA;
+
+typedef struct _FAX_ROUTING_METHODW
+{
+  DWORD SizeOfStruct;
+  DWORD DeviceId;
+  BOOL Enabled;
+  LPCWSTR DeviceName;
+  LPCWSTR Guid;
+  LPCWSTR FriendlyName;
+  LPCWSTR FunctionName;
+  LPCWSTR ExtensionImageName;
+  LPCWSTR ExtensionFriendlyName;
+} FAX_ROUTING_METHODW, *PFAX_ROUTING_METHODW;
+
+typedef struct _FAX_CONFIGURATIONA
+{
+  DWORD SizeOfStruct;
+  DWORD Retries;
+  DWORD RetryDelay;
+  BOOL Branding;
+  DWORD DirtyDays;
+  BOOL UseDeviceTsid;
+  BOOL ServerCp;
+  BOOL PauseServerQueue;
+  FAX_TIME StartCheapTime;
+  FAX_TIME StopCheapTime;
+  BOOL ArchiveOutgoingFaxes;
+  LPCSTR ArchiveDirectory;
+  LPCSTR InboundProfile;
+} FAX_CONFIGURATIONA, *PFAX_CONFIGURATIONA;
+
+typedef struct _FAX_CONFIGURATIONW
+{
+  DWORD SizeOfStruct;
+  DWORD Retries;
+  DWORD RetryDelay;
+  BOOL Branding;
+  DWORD DirtyDays;
+  BOOL UseDeviceTsid;
+  BOOL ServerCp;
+  BOOL PauseServerQueue;
+  FAX_TIME StartCheapTime;
+  FAX_TIME StopCheapTime;
+  BOOL ArchiveOutgoingFaxes;
+  LPCWSTR ArchiveDirectory;
+  LPCWSTR InboundProfile;
+} FAX_CONFIGURATIONW, *PFAX_CONFIGURATIONW;
+
+typedef struct _FAX_DEVICE_STATUSA
+{
+  DWORD SizeOfStruct;
+  LPCSTR CallerId;
+  LPCSTR Csid;
+  DWORD CurrentPage;
+  DWORD DeviceId;
+  LPCSTR DeviceName;
+  LPCSTR DocumentName;
+  DWORD JobType;
+  LPCSTR PhoneNumber;
+  LPCSTR RoutingString;
+  LPCSTR SenderName;
+  LPCSTR RecipientName;
+  DWORD Size;
+  FILETIME StartTime;
+  DWORD Status;
+  LPCSTR StatusString;
+  FILETIME SubmittedTime;
+  DWORD TotalPages;
+  LPCSTR Tsid;
+  LPCSTR UserName;
+} FAX_DEVICE_STATUSA, *PFAX_DEVICE_STATUSA;
+
+typedef struct _FAX_DEVICE_STATUSW
+{
+  DWORD SizeOfStruct;
+  LPCWSTR CallerId;
+  LPCWSTR Csid;
+  DWORD CurrentPage;
+  DWORD DeviceId;
+  LPCWSTR DeviceName;
+  LPCWSTR DocumentName;
+  DWORD JobType;
+  LPCWSTR PhoneNumber;
+  LPCWSTR RoutingString;
+  LPCWSTR SenderName;
+  LPCWSTR RecipientName;
+  DWORD Size;
+  FILETIME StartTime;
+  DWORD Status;
+  LPCWSTR StatusString;
+  FILETIME SubmittedTime;
+  DWORD TotalPages;
+  LPCWSTR Tsid;
+  LPCWSTR UserName;
+} FAX_DEVICE_STATUSW, *PFAX_DEVICE_STATUSW;
+
+typedef struct _FAX_LOG_CATEGORYA
+{
+  LPCSTR Name;
+  DWORD Category;
+  DWORD Level;
+} FAX_LOG_CATEGORYA, *PFAX_LOG_CATEGORYA;
+
+typedef struct _FAX_LOG_CATEGORYW
+{
+  LPCWSTR Name;
+  DWORD Category;
+  DWORD Level;
+} FAX_LOG_CATEGORYW, *PFAX_LOG_CATEGORYW;
+
+typedef struct _FAX_CONTEXT_INFOA
+{
+  DWORD SizeOfStruct;
+  HDC hDC;
+  CHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1];
+} FAX_CONTEXT_INFOA, *PFAX_CONTEXT_INFOA;
+
+typedef struct _FAX_CONTEXT_INFOW
+{
+  DWORD SizeOfStruct;
+  HDC hDC;
+  WCHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1];
+} FAX_CONTEXT_INFOW, *PFAX_CONTEXT_INFOW;
+
+typedef struct _FAX_PRINT_INFOA
+{
+  DWORD SizeOfStruct;
+  LPCSTR DocName;
+  LPCSTR RecipientName;
+  LPCSTR RecipientNumber;
+  LPCSTR SenderName;
+  LPCSTR SenderCompany;
+  LPCSTR SenderDept;
+  LPCSTR SenderBillingCode;
+  LPCSTR Reserved;
+  LPCSTR DrEmailAddress;
+  LPCSTR OutputFileName;
+} FAX_PRINT_INFOA, *PFAX_PRINT_INFOA;
+
+typedef struct _FAX_PRINT_INFOW
+{
+  DWORD SizeOfStruct;
+  LPCWSTR DocName;
+  LPCWSTR RecipientName;
+  LPCWSTR RecipientNumber;
+  LPCWSTR SenderName;
+  LPCWSTR SenderCompany;
+  LPCWSTR SenderDept;
+  LPCWSTR SenderBillingCode;
+  LPCWSTR Reserved;
+  LPCWSTR DrEmailAddress;
+  LPCWSTR OutputFileName;
+} FAX_PRINT_INFOW, *PFAX_PRINT_INFOW;
+
+typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKA)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMA JobParams, PFAX_COVERAGE_INFOA CoverpageInfo);
+typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKW)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMW JobParams, PFAX_COVERAGE_INFOW CoverpageInfo);
+
+#ifndef _DISABLE_TIDENTS
+
+#ifdef UNICODE
+typedef FAX_JOB_PARAMW FAX_JOB_PARAM;
+typedef PFAX_JOB_PARAMW PFAX_JOB_PARAM;
+typedef FAX_COVERAGE_INFOW FAX_COVERAGE_INFO;
+typedef PFAX_COVERAGE_INFOW PFAX_COVERAGE_INFO;
+typedef FAX_GLOBAL_ROUTING_INFOW FAX_GLOBAL_ROUTING_INFO;
+typedef PFAX_GLOBAL_ROUTING_INFOW PFAX_GLOBAL_ROUTING_INFO;
+typedef FAX_JOB_ENTRYW FAX_JOB_ENTRY;
+typedef PFAX_JOB_ENTRYW PFAX_JOB_ENTRY;
+typedef FAX_PORT_INFOW FAX_PORT_INFO;
+typedef PFAX_PORT_INFOW PFAX_PORT_INFO;
+typedef FAX_ROUTING_METHODW FAX_ROUTING_METHOD;
+typedef PFAX_ROUTING_METHODW PFAX_ROUTING_METHOD;
+typedef FAX_CONFIGURATIONW FAX_CONFIGURATION;
+typedef PFAX_CONFIGURATIONW PFAX_CONFIGURATION;
+typedef FAX_DEVICE_STATUSW FAX_DEVICE_STATUS;
+typedef PFAX_DEVICE_STATUSW PFAX_DEVICE_STATUS;
+typedef FAX_LOG_CATEGORYW FAX_LOG_CATEGORY;
+typedef PFAX_LOG_CATEGORYW PFAX_LOG_CATEGORY;
+typedef FAX_CONTEXT_INFOW FAX_CONTEXT_INFO;
+typedef PFAX_CONTEXT_INFOW PFAX_CONTEXT_INFO;
+typedef FAX_PRINT_INFOW FAX_PRINT_INFO;
+typedef PFAX_PRINT_INFOW PFAX_PRINT_INFO;
+typedef PFAX_RECIPIENT_CALLBACKA PFAX_RECIPIENT_CALLBACK;
+#define FaxCompleteJobParams FaxCompleteJobParamsW
+#define FaxConnectFaxServer FaxConnectFaxServerW
+#define FaxEnableRoutingMethod FaxEnableRoutingMethodW
+#define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoW
+#define FaxEnumJobs FaxEnumJobsW
+#define FaxEnumPorts FaxEnumPortsW
+#define FaxEnumRoutingMethods FaxEnumRoutingMethodsW
+#define FaxGetConfiguration FaxGetConfigurationW
+#define FaxGetDeviceStatus FaxGetDeviceStatusW
+#define FaxGetJob FaxGetJobW
+#define FaxGetLoggingCategories FaxGetLoggingCategoriesW
+#define FaxGetPort FaxGetPortW
+#define FaxGetRoutingInfo FaxGetRoutingInfoW
+#define FaxSendDocument FaxSendDocumentW
+#define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastW
+#define FaxSetConfiguration FaxSetConfigurationW
+#define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoW
+#define FaxSetJob FaxSetJobW
+#define FaxSetLoggingCategories FaxSetLoggingCategoriesW
+#define FaxSetPort FaxSetPortW
+#define FaxSetRoutingInfo FaxSetRoutingInfoW
+#define FaxStartPrintJob FaxStartPrintJobW
+#else /* !UNICODE */
+typedef FAX_JOB_PARAMA FAX_JOB_PARAM;
+typedef PFAX_JOB_PARAMA PFAX_JOB_PARAM;
+typedef FAX_COVERAGE_INFOA FAX_COVERAGE_INFO;
+typedef PFAX_COVERAGE_INFOA PFAX_COVERAGE_INFO;
+typedef FAX_GLOBAL_ROUTING_INFOA FAX_GLOBAL_ROUTING_INFO;
+typedef PFAX_GLOBAL_ROUTING_INFOA PFAX_GLOBAL_ROUTING_INFO;
+typedef FAX_JOB_ENTRYA FAX_JOB_ENTRY;
+typedef PFAX_JOB_ENTRYA PFAX_JOB_ENTRY;
+typedef FAX_PORT_INFOA FAX_PORT_INFO;
+typedef PFAX_PORT_INFOA PFAX_PORT_INFO;
+typedef FAX_ROUTING_METHODA FAX_ROUTING_METHOD;
+typedef PFAX_ROUTING_METHODA PFAX_ROUTING_METHOD;
+typedef FAX_CONFIGURATIONA FAX_CONFIGURATION;
+typedef PFAX_CONFIGURATIONA PFAX_CONFIGURATION;
+typedef FAX_DEVICE_STATUSA FAX_DEVICE_STATUS;
+typedef PFAX_DEVICE_STATUSA PFAX_DEVICE_STATUS;
+typedef FAX_LOG_CATEGORYA FAX_LOG_CATEGORY;
+typedef PFAX_LOG_CATEGORYA PFAX_LOG_CATEGORY;
+typedef FAX_CONTEXT_INFOA FAX_CONTEXT_INFO;
+typedef PFAX_CONTEXT_INFOA PFAX_CONTEXT_INFO;
+typedef FAX_PRINT_INFOA FAX_PRINT_INFO;
+typedef PFAX_PRINT_INFOA PFAX_PRINT_INFO;
+typedef PFAX_RECIPIENT_CALLBACKW PFAX_RECIPIENT_CALLBACK;
+#define FaxCompleteJobParams FaxCompleteJobParamsA
+#define FaxConnectFaxServer FaxConnectFaxServerA
+#define FaxEnableRoutingMethod FaxEnableRoutingMethodA
+#define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoA
+#define FaxEnumJobs FaxEnumJobsA
+#define FaxEnumPorts FaxEnumPortsA
+#define FaxEnumRoutingMethods FaxEnumRoutingMethodsA
+#define FaxGetConfiguration FaxGetConfigurationA
+#define FaxGetDeviceStatus FaxGetDeviceStatusA
+#define FaxGetJob FaxGetJobA
+#define FaxGetLoggingCategories FaxGetLoggingCategoriesA
+#define FaxGetPort FaxGetPortA
+#define FaxGetRoutingInfo FaxGetRoutingInfoA
+#define FaxSendDocument FaxSendDocumentA
+#define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastA
+#define FaxSetConfiguration FaxSetConfigurationA
+#define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoA
+#define FaxSetJob FaxSetJobA
+#define FaxSetLoggingCategories FaxSetLoggingCategoriesA
+#define FaxSetPort FaxSetPortA
+#define FaxSetRoutingInfo FaxSetRoutingInfoA
+#define FaxStartPrintJob FaxStartPrintJobA
+#endif /* UNICODE */
+
+#endif /* _DISABLE_TIDENTS */
+
+typedef BOOL (CALLBACK *PFAX_ROUTING_INSTALLATION_CALLBACKW)(HANDLE FaxHandle, LPVOID Context, LPWSTR MethodName, LPWSTR FriendlyName, LPWSTR FunctionName, LPWSTR Guid);
+#define PFAX_ROUTING_INSTALLATION_CALLBACK PFAX_ROUTING_INSTALLATION_CALLBACKW
+#define FaxRegisterRoutingExtension FaxRegisterRoutingExtensionW
+#define FaxRegisterServiceProvider FaxRegisterServiceProviderW
+
+BOOL WINAPI FaxAbort(HANDLE FaxHandle, DWORD JobId);
+BOOL WINAPI FaxAccessCheck(HANDLE FaxHandle, DWORD AccessMask);
+BOOL WINAPI FaxClose(HANDLE FaxHandle);
+BOOL WINAPI FaxCompleteJobParamsA(PFAX_JOB_PARAMA *JobParams, PFAX_COVERAGE_INFOA *CoverageInfo);
+BOOL WINAPI FaxCompleteJobParamsW(PFAX_JOB_PARAMW *JobParams, PFAX_COVERAGE_INFOW *CoverageInfo);
+BOOL WINAPI FaxConnectFaxServerA(LPCSTR MachineName, LPHANDLE FaxHandle);
+BOOL WINAPI FaxConnectFaxServerW(LPCWSTR MachineName, LPHANDLE FaxHandle);
+BOOL WINAPI FaxEnableRoutingMethodA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, BOOL Enabled);
+BOOL WINAPI FaxEnableRoutingMethodW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, BOOL Enabled);
+BOOL WINAPI FaxEnumGlobalRoutingInfoA(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOA *RoutingInfo, LPDWORD MethodsReturned);
+BOOL WINAPI FaxEnumGlobalRoutingInfoW(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOW *RoutingInfo, LPDWORD MethodsReturned);
+BOOL WINAPI FaxEnumJobsA(HANDLE FaxHandle, PFAX_JOB_ENTRYA *JobEntry, LPDWORD JobsReturned);
+BOOL WINAPI FaxEnumJobsW(HANDLE FaxHandle, PFAX_JOB_ENTRYW *JobEntry, LPDWORD JobsReturned);
+BOOL WINAPI FaxEnumPortsA(HANDLE FaxHandle, PFAX_PORT_INFOA *PortInfo, LPDWORD PortsReturned);
+BOOL WINAPI FaxEnumPortsW(HANDLE FaxHandle, PFAX_PORT_INFOW *PortInfo, LPDWORD PortsReturned);
+BOOL WINAPI FaxEnumRoutingMethodsA(HANDLE FaxPortHandle, PFAX_ROUTING_METHODA *RoutingMethod, LPDWORD MethodsReturned);
+BOOL WINAPI FaxEnumRoutingMethodsW(HANDLE FaxPortHandle, PFAX_ROUTING_METHODW *RoutingMethod, LPDWORD MethodsReturned);
+VOID WINAPI FaxFreeBuffer(LPVOID Buffer);
+BOOL WINAPI FaxGetConfigurationA(HANDLE FaxHandle, PFAX_CONFIGURATIONA *FaxConfig);
+BOOL WINAPI FaxGetConfigurationW(HANDLE FaxHandle, PFAX_CONFIGURATIONW *FaxConfig);
+BOOL WINAPI FaxGetDeviceStatusA(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSA *DeviceStatus);
+BOOL WINAPI FaxGetDeviceStatusW(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSW *DeviceStatus);
+BOOL WINAPI FaxGetJobA(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYA *JobEntry);
+BOOL WINAPI FaxGetJobW(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYW *JobEntry);
+BOOL WINAPI FaxGetLoggingCategoriesA(HANDLE FaxHandle, PFAX_LOG_CATEGORYA *Categories, LPDWORD NumberCategories);
+BOOL WINAPI FaxGetLoggingCategoriesW(HANDLE FaxHandle, PFAX_LOG_CATEGORYW *Categories, LPDWORD NumberCategories);
+BOOL WINAPI FaxGetPageData(HANDLE FaxHandle, DWORD JobId, LPBYTE *Buffer, LPDWORD BufferSize, LPDWORD ImageWidth, LPDWORD ImageHeight);
+BOOL WINAPI FaxGetPortA(HANDLE FaxPortHandle, PFAX_PORT_INFOA *PortInfo);
+BOOL WINAPI FaxGetPortW(HANDLE FaxPortHandle, PFAX_PORT_INFOW *PortInfo);
+BOOL WINAPI FaxGetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
+BOOL WINAPI FaxGetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
+BOOL WINAPI FaxInitializeEventQueue(HANDLE FaxHandle, HANDLE CompletionPort, ULONG_PTR CompletionKey, HWND hWnd, UINT MessageStart);
+BOOL WINAPI FaxOpenPort(HANDLE FaxHandle, DWORD DeviceId, DWORD Flags, LPHANDLE FaxPortHandle);
+BOOL WINAPI FaxPrintCoverPageA(CONST FAX_CONTEXT_INFOA *FaxContextInfo, CONST FAX_COVERAGE_INFOA *CoverPageInfo);
+BOOL WINAPI FaxPrintCoverPageW(CONST FAX_CONTEXT_INFOW *FaxContextInfo, CONST FAX_COVERAGE_INFOW *CoverPageInfo);
+BOOL WINAPI FaxRegisterRoutingExtensionW(HANDLE FaxHandle, LPCWSTR ExtensionName, LPCWSTR FriendlyName, LPCWSTR ImageName, PFAX_ROUTING_INSTALLATION_CALLBACK CallBack, LPVOID Context);
+BOOL WINAPI FaxRegisterServiceProviderW(LPCWSTR DeviceProvider, LPCWSTR FriendlyName, LPCWSTR ImageName, LPCWSTR TspName);
+BOOL WINAPI FaxSendDocumentA(HANDLE FaxHandle, LPCSTR FileName, PFAX_JOB_PARAMA JobParams, CONST FAX_COVERAGE_INFOA *CoverpageInfo, LPDWORD FaxJobId);
+BOOL WINAPI FaxSendDocumentForBroadcastA(HANDLE FaxHandle, LPCSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKA FaxRecipientCallback, LPVOID Context);
+BOOL WINAPI FaxSendDocumentForBroadcastW(HANDLE FaxHandle, LPCWSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKW FaxRecipientCallback, LPVOID Context);
+BOOL WINAPI FaxSendDocumentW(HANDLE FaxHandle, LPCWSTR FileName, PFAX_JOB_PARAMW JobParams, CONST FAX_COVERAGE_INFOW *CoverpageInfo, LPDWORD FaxJobId);
+BOOL WINAPI FaxSetConfigurationA(HANDLE FaxHandle, CONST FAX_CONFIGURATIONA *FaxConfig);
+BOOL WINAPI FaxSetConfigurationW(HANDLE FaxHandle, CONST FAX_CONFIGURATIONW *FaxConfig);
+BOOL WINAPI FaxSetGlobalRoutingInfoA(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOA *RoutingInfo);
+BOOL WINAPI FaxSetGlobalRoutingInfoW(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOW *RoutingInfo);
+BOOL WINAPI FaxSetJobA(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYA *JobEntry);
+BOOL WINAPI FaxSetJobW(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYW *JobEntry);
+BOOL WINAPI FaxSetLoggingCategoriesA(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYA *Categories, DWORD NumberCategories);
+BOOL WINAPI FaxSetLoggingCategoriesW(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYW *Categories, DWORD NumberCategories);
+BOOL WINAPI FaxSetPortA(HANDLE FaxPortHandle, CONST FAX_PORT_INFOA *PortInfo);
+BOOL WINAPI FaxSetPortW(HANDLE FaxPortHandle, CONST FAX_PORT_INFOW *PortInfo);
+BOOL WINAPI FaxSetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
+BOOL WINAPI FaxSetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
+BOOL WINAPI FaxStartPrintJobA(LPCSTR PrinterName, CONST FAX_PRINT_INFOA *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOA FaxContextInfo);
+BOOL WINAPI FaxStartPrintJobW(LPCWSTR PrinterName, CONST FAX_PRINT_INFOW *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOW FaxContextInfo);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /* __WINFAX_H */
+
+/* EOF */

reactos/lib/winfax
.cvsignore added at 1.1
diff -N .cvsignore
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ .cvsignore	2 Oct 2004 16:43:05 -0000	1.1
@@ -0,0 +1,8 @@
+*.coff
+*.dll
+*.d
+*.a
+*.o
+*.sym
+*.map
+*.tmp

reactos/lib/winfax
Makefile added at 1.1
diff -N Makefile
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ Makefile	2 Oct 2004 16:43:05 -0000	1.1
@@ -0,0 +1,50 @@
+# $Id: Makefile,v 1.1 2004/10/02 16:43:05 weiden Exp $
+
+PATH_TO_TOP = ../..
+
+TARGET_TYPE = dynlink
+
+TARGET_NAME = winfax
+
+TARGET_INSTALLDIR = system32
+
+TARGET_BASE = $(TARGET_BASE_LIB_ACLUI)
+
+TARGET_CFLAGS = \
+ -D__USE_W32API \
+ -DUNICODE \
+ -D_UNICODE \
+ -D__REACTOS__ \
+ -D_WIN32_IE=0x0500 \
+ -D_WIN32_WINNT=0x501 \
+ -DWINVER=0x600 \
+ -Wall \
+ -Werror \
+ -fno-builtin
+
+TARGET_LFLAGS = -nostartfiles -nostdlib
+
+TARGET_SDKLIBS = ntdll.a rosrtl.a kernel32.a comctl32.a user32.a
+
+TARGET_GCCLIBS = gcc
+
+TARGET_PCH = precomp.h
+
+TARGET_CLEAN = 
+
+TARGET_OBJECTS = winfax.o
+
+TARGET_ENTRY = 0x00000000
+
+DEP_OBJECTS = $(TARGET_OBJECTS)
+
+include $(PATH_TO_TOP)/rules.mak
+
+include $(TOOLS_PATH)/helper.mk
+
+include $(TOOLS_PATH)/depend.mk
+
+%/TAGS:
+	etags -o $(@D)/TAGS $(@D)/\*.c
+
+etags: ./TAGS

reactos/lib/winfax
precomp.h added at 1.1
diff -N precomp.h
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ precomp.h	2 Oct 2004 16:43:05 -0000	1.1
@@ -0,0 +1,11 @@
+#include <windows.h>
+#include <WinFax.h>
+
+/* INTERNAL *******************************************************************/
+
+ULONG DbgPrint(PCH Format,...);
+#define UNIMPLEMENTED \
+  DbgPrint("%s:%i: %s() UNIMPLEMENTED!\n", __FILE__, __LINE__, __FUNCTION__); \
+  SetLastError(	ERROR_CALL_NOT_IMPLEMENTED)
+
+/* EOF */

reactos/lib/winfax
winfax.c added at 1.1
diff -N winfax.c
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ winfax.c	2 Oct 2004 16:43:05 -0000	1.1
@@ -0,0 +1,633 @@
+/*
+ * ReactOS FAX API Support
+ * Copyright (C) 2004 ReactOS Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+/* $Id: winfax.c,v 1.1 2004/10/02 16:43:05 weiden Exp $
+ *
+ * PROJECT:         ReactOS FAX API Support
+ * FILE:            lib/winfax/winfax.c
+ * PURPOSE:         ReactOS FAX API Support
+ * PROGRAMMER:      Thomas Weidenmueller <w3seek@reactos.com>
+ *
+ * UPDATE HISTORY:
+ *      10/02/2004  Created
+ */
+#include "precomp.h"
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxAbort(HANDLE FaxHandle, DWORD JobId)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxAccessCheck(HANDLE FaxHandle, DWORD AccessMask)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxClose(HANDLE FaxHandle)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxCompleteJobParamsA(PFAX_JOB_PARAMA *JobParams, PFAX_COVERAGE_INFOA *CoverageInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxCompleteJobParamsW(PFAX_JOB_PARAMW *JobParams, PFAX_COVERAGE_INFOW *CoverageInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxConnectFaxServerA(LPCSTR MachineName, LPHANDLE FaxHandle)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxConnectFaxServerW(LPCWSTR MachineName, LPHANDLE FaxHandle)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnableRoutingMethodA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, BOOL Enabled)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnableRoutingMethodW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, BOOL Enabled)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumGlobalRoutingInfoA(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOA *RoutingInfo, LPDWORD MethodsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumGlobalRoutingInfoW(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOW *RoutingInfo, LPDWORD MethodsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumJobsA(HANDLE FaxHandle, PFAX_JOB_ENTRYA *JobEntry, LPDWORD JobsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumJobsW(HANDLE FaxHandle, PFAX_JOB_ENTRYW *JobEntry, LPDWORD JobsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumPortsA(HANDLE FaxHandle, PFAX_PORT_INFOA *PortInfo, LPDWORD PortsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumPortsW(HANDLE FaxHandle, PFAX_PORT_INFOW *PortInfo, LPDWORD PortsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumRoutingMethodsA(HANDLE FaxPortHandle, PFAX_ROUTING_METHODA *RoutingMethod, LPDWORD MethodsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxEnumRoutingMethodsW(HANDLE FaxPortHandle, PFAX_ROUTING_METHODW *RoutingMethod, LPDWORD MethodsReturned)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+VOID WINAPI
+FaxFreeBuffer(LPVOID Buffer)
+{
+  UNIMPLEMENTED;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetConfigurationA(HANDLE FaxHandle, PFAX_CONFIGURATIONA *FaxConfig)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetConfigurationW(HANDLE FaxHandle, PFAX_CONFIGURATIONW *FaxConfig)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetDeviceStatusA(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSA *DeviceStatus)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetDeviceStatusW(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSW *DeviceStatus)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetJobA(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYA *JobEntry)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetJobW(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYW *JobEntry)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetLoggingCategoriesA(HANDLE FaxHandle, PFAX_LOG_CATEGORYA *Categories, LPDWORD NumberCategories)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetLoggingCategoriesW(HANDLE FaxHandle, PFAX_LOG_CATEGORYW *Categories, LPDWORD NumberCategories)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetPageData(HANDLE FaxHandle, DWORD JobId, LPBYTE *Buffer, LPDWORD BufferSize, LPDWORD ImageWidth, LPDWORD ImageHeight)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetPortA(HANDLE FaxPortHandle, PFAX_PORT_INFOA *PortInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetPortW(HANDLE FaxPortHandle, PFAX_PORT_INFOW *PortInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxGetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxInitializeEventQueue(HANDLE FaxHandle, HANDLE CompletionPort, ULONG_PTR CompletionKey, HWND hWnd, UINT MessageStart)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxOpenPort(HANDLE FaxHandle, DWORD DeviceId, DWORD Flags, LPHANDLE FaxPortHandle)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxPrintCoverPageA(CONST FAX_CONTEXT_INFOA *FaxContextInfo, CONST FAX_COVERAGE_INFOA *CoverPageInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxPrintCoverPageW(CONST FAX_CONTEXT_INFOW *FaxContextInfo, CONST FAX_COVERAGE_INFOW *CoverPageInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxRegisterRoutingExtensionW(HANDLE FaxHandle, LPCWSTR ExtensionName, LPCWSTR FriendlyName, LPCWSTR ImageName, PFAX_ROUTING_INSTALLATION_CALLBACKW CallBack, LPVOID Context)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxRegisterServiceProviderW(LPCWSTR DeviceProvider, LPCWSTR FriendlyName, LPCWSTR ImageName, LPCWSTR TspName)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSendDocumentA(HANDLE FaxHandle, LPCSTR FileName, PFAX_JOB_PARAMA JobParams, CONST FAX_COVERAGE_INFOA *CoverpageInfo, LPDWORD FaxJobId)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSendDocumentForBroadcastA(HANDLE FaxHandle, LPCSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKA FaxRecipientCallback, LPVOID Context)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSendDocumentForBroadcastW(HANDLE FaxHandle, LPCWSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKW FaxRecipientCallback, LPVOID Context)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSendDocumentW(HANDLE FaxHandle, LPCWSTR FileName, PFAX_JOB_PARAMW JobParams, CONST FAX_COVERAGE_INFOW *CoverpageInfo, LPDWORD FaxJobId)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetConfigurationA(HANDLE FaxHandle, CONST FAX_CONFIGURATIONA *FaxConfig)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetConfigurationW(HANDLE FaxHandle, CONST FAX_CONFIGURATIONW *FaxConfig)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetGlobalRoutingInfoA(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOA *RoutingInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetGlobalRoutingInfoW(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOW *RoutingInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetJobA(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYA *JobEntry)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetJobW(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYW *JobEntry)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetLoggingCategoriesA(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYA *Categories, DWORD NumberCategories)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetLoggingCategoriesW(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYW *Categories, DWORD NumberCategories)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetPortA(HANDLE FaxPortHandle, CONST FAX_PORT_INFOA *PortInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetPortW(HANDLE FaxPortHandle, CONST FAX_PORT_INFOW *PortInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxSetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxStartPrintJobA(LPCSTR PrinterName, CONST FAX_PRINT_INFOA *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOA FaxContextInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+
+
+/*
+ * @unimplemented
+ */
+BOOL WINAPI
+FaxStartPrintJobW(LPCWSTR PrinterName, CONST FAX_PRINT_INFOW *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOW FaxContextInfo)
+{
+  UNIMPLEMENTED;
+  return FALSE;
+}
+

reactos/lib/winfax
winfax.def added at 1.1
diff -N winfax.def
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ winfax.def	2 Oct 2004 16:43:05 -0000	1.1
@@ -0,0 +1,60 @@
+LIBRARY winfax.dll
+
+EXPORTS
+FaxAbort@8 @1
+FaxAccessCheck@8 @2
+FaxClose@4 @3
+FaxCompleteJobParamsA@8 @4
+FaxCompleteJobParamsW@8 @5
+FaxConnectFaxServerA@8 @6
+FaxConnectFaxServerW@8 @7
+FaxEnableRoutingMethodA@12 @8
+FaxEnableRoutingMethodW@12 @9
+FaxEnumGlobalRoutingInfoA@12 @10
+FaxEnumGlobalRoutingInfoW@12 @11
+FaxEnumJobsA@12 @12
+FaxEnumJobsW@12 @13
+FaxEnumPortsA@12 @14
+FaxEnumPortsW@12 @15
+FaxEnumRoutingMethodsA@12 @16
+FaxEnumRoutingMethodsW@12 @17
+FaxFreeBuffer@4 @18
+FaxGetConfigurationA@8 @19
+FaxGetConfigurationW@8 @20
+FaxGetDeviceStatusA@8 @21
+FaxGetDeviceStatusW@8 @22
+FaxGetJobA@12 @23
+FaxGetJobW@12 @24
+FaxGetLoggingCategoriesA@12 @25
+FaxGetLoggingCategoriesW@12 @26
+FaxGetPageData@24 @27
+FaxGetPortA@8 @28
+FaxGetPortW@8 @29
+FaxGetRoutingInfoA@16 @30
+FaxGetRoutingInfoW@16 @31
+FaxInitializeEventQueue@20 @32
+FaxOpenPort@16 @33
+FaxPrintCoverPageA@8 @34
+FaxPrintCoverPageW@8 @35
+FaxRegisterRoutingExtensionW@24 @36
+FaxRegisterServiceProviderW@16 @37
+FaxSendDocumentA@20 @38
+FaxSendDocumentForBroadcastA@20 @39
+FaxSendDocumentForBroadcastW@20 @40
+FaxSendDocumentW@20 @41
+FaxSetConfigurationA@8 @42
+FaxSetConfigurationW@8 @43
+FaxSetGlobalRoutingInfoA@8 @44
+FaxSetGlobalRoutingInfoW@8 @45
+FaxSetJobA@16 @46
+FaxSetJobW@16 @47
+FaxSetLoggingCategoriesA@12 @48
+FaxSetLoggingCategoriesW@12 @49
+FaxSetPortA@8 @50
+FaxSetPortW@8 @51
+FaxSetRoutingInfoA@16 @52
+FaxSetRoutingInfoW@16 @53
+FaxStartPrintJobA@16 @54
+FaxStartPrintJobW@16 @55
+
+; EOF

reactos/lib/winfax
winfax.rc added at 1.1
diff -N winfax.rc
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ winfax.rc	2 Oct 2004 16:43:05 -0000	1.1
@@ -0,0 +1,38 @@
+#include <reactos/resource.h>
+#include <defines.h>
+
+LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
+
+VS_VERSION_INFO VERSIONINFO
+	FILEVERSION	RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD
+	PRODUCTVERSION	RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD	
+	FILEFLAGSMASK	0x3fL
+#ifdef _DEBUG
+	FILEFLAGS	0x1L
+#else
+	FILEFLAGS	0x0L
+#endif
+	FILEOS		0x40004L
+	FILETYPE	0x2L
+	FILESUBTYPE	0x0L
+BEGIN
+    BLOCK "StringFileInfo"
+    BEGIN
+        BLOCK "040904b0"
+        BEGIN
+            VALUE "CompanyName",	RES_STR_COMPANY_NAME
+            VALUE "FileDescription",	"ReactOS FAX API Support\0"
+            VALUE "FileVersion",	RES_STR_FILE_VERSION
+            VALUE "InternalName",	"winfax\0"
+            VALUE "LegalCopyright",	RES_STR_LEGAL_COPYRIGHT
+            VALUE "OriginalFilename",	"winfax.dll\0"
+            VALUE "ProductName",	RES_STR_PRODUCT_NAME
+            VALUE "ProductVersion",	RES_STR_PRODUCT_VERSION
+        END
+    END
+    BLOCK "VarFileInfo"
+    BEGIN
+        VALUE "Translation", 0x409, 1200
+    END
+END
+
CVSspam 0.2.8