move crt, ddk and GL includes
[reactos.git] / reactos / w32api / include / winfax.h
1 /*
2 * winfax.h
3 *
4 * FAX API Support
5 *
6 * THIS SOFTWARE IS NOT COPYRIGHTED
7 *
8 * This source code is offered for use in the public domain. You may
9 * use, modify or distribute it freely.
10 *
11 * This code is distributed in the hope that it will be useful but
12 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
13 * DISCLAIMED. This includes but is not limited to warranties of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15 *
16 */
17
18 #ifndef __WINFAX_H
19 #define __WINFAX_H
20 #if __GNUC__ >=3
21 #pragma GCC system_header
22 #endif
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 typedef DWORD HCALL;
29
30 typedef struct _FAX_TIME
31 {
32 WORD Hour;
33 WORD Minute;
34 } FAX_TIME, *PFAX_TIME;
35
36 typedef enum
37 {
38 JSA_NOW = 0,
39 JSA_SPECIFIC_TIME,
40 JSA_DISCOUNT_PERIOD
41 } FAX_ENUM_JOB_SEND_ATTRIBUTES;
42
43 typedef enum
44 {
45 DRT_NONE = 0,
46 DRT_EMAIL,
47 DRT_INBOX
48 } FAX_ENUM_DELIVERY_REPORT_TYPES;
49
50 typedef enum
51 {
52 FAXLOG_CATEGORY_INIT = 1,
53 FAXLOG_CATEGORY_OUTBOUND,
54 FAXLOG_CATEGORY_INBOUND,
55 FAXLOG_CATEGORY_UNKNOWN
56 } FAX_ENUM_LOG_CATEGORIES;
57
58 typedef enum
59 {
60 FAXLOG_LEVEL_NONE = 0,
61 FAXLOG_LEVEL_MIN,
62 FAXLOG_LEVEL_MED,
63 FAXLOG_LEVEL_MAX
64 } FAX_ENUM_LOG_LEVELS;
65
66 typedef enum
67 {
68 PORT_OPEN_QUERY = 1,
69 PORT_OPEN_MODIFY
70 } FAX_ENUM_PORT_OPEN_TYPE;
71
72 typedef enum
73 {
74 JC_UNKNOWN = 0,
75 JC_DELETE,
76 JC_PAUSE,
77 JC_RESUME
78 } FAX_ENUM_JOB_COMMANDS;
79
80 #define JT_UNKNOWN 0
81 #define JT_SEND 1
82 #define JT_RECEIVE 2
83 #define JT_ROUTING 3
84 #define JT_FAIL_RECEIVE 4
85
86 #define JS_PENDING 0x0
87 #define JS_INPROGRESS 0x1
88 #define JS_DELETING 0x2
89 #define JS_FAILED 0x4
90 #define JS_PAUSED 0x8
91 #define JS_NOLINE 0x10
92 #define JS_RETRYING 0x20
93 #define JS_RETRIES_EXCEEDED 0x40
94
95 #define FPS_DIALING 0x20000001
96 #define FPS_SENDING 0x20000002
97 #define FPS_RECEIVING 0x20000004
98 #define FPS_COMPLETED 0x20000008
99 #define FPS_HANDLED 0x20000010
100 #define FPS_UNAVAILABLE 0x20000020
101 #define FPS_BUSY 0x20000040
102 #define FPS_NO_ANSWER 0x20000080
103 #define FPS_BAD_ADDRESS 0x20000100
104 #define FPS_NO_DIAL_TONE 0x20000200
105 #define FPS_DISCONNECTED 0x20000400
106 #define FPS_FATAL_ERROR 0x20000800
107 #define FPS_NOT_FAX_CALL 0x20001000
108 #define FPS_CALL_DELAYED 0x20002000
109 #define FPS_CALL_BLACKLISTED 0x20004000
110 #define FPS_INITIALIZING 0x20008000
111 #define FPS_OFFLINE 0x20010000
112 #define FPS_RINGING 0x20020000
113 #define FPS_AVAILABLE 0x20100000
114 #define FPS_ABORTING 0x20200000
115 #define FPS_ROUTING 0x20400000
116 #define FPS_ANSWERED 0x20800000
117
118 #define FPF_RECEIVE 0x1
119 #define FPF_SEND 0x2
120 #define FPF_VIRTUAL 0x4
121
122 typedef struct _FAX_JOB_PARAMA
123 {
124 DWORD SizeOfStruct;
125 LPCSTR RecipientNumber;
126 LPCSTR RecipientName;
127 LPCSTR Tsid;
128 LPCSTR SenderName;
129 LPCSTR SenderCompany;
130 LPCSTR SenderDept;
131 LPCSTR BillingCode;
132 DWORD ScheduleAction;
133 SYSTEMTIME ScheduleTime;
134 DWORD DeliveryReportType;
135 LPCSTR DeliveryReportAddress;
136 LPCSTR DocumentName;
137 HCALL CallHandle;
138 DWORD_PTR Reserved[3];
139 } FAX_JOB_PARAMA, *PFAX_JOB_PARAMA;
140
141 typedef struct _FAX_JOB_PARAMW
142 {
143 DWORD SizeOfStruct;
144 LPCWSTR RecipientNumber;
145 LPCWSTR RecipientName;
146 LPCWSTR Tsid;
147 LPCWSTR SenderName;
148 LPCWSTR SenderCompany;
149 LPCWSTR SenderDept;
150 LPCWSTR BillingCode;
151 DWORD ScheduleAction;
152 SYSTEMTIME ScheduleTime;
153 DWORD DeliveryReportType;
154 LPCWSTR DeliveryReportAddress;
155 LPCWSTR DocumentName;
156 HCALL CallHandle;
157 DWORD_PTR Reserved[3];
158 } FAX_JOB_PARAMW, *PFAX_JOB_PARAMW;
159
160 typedef struct _FAX_COVERAGE_INFOA
161 {
162 DWORD SizeOfStruct;
163
164 LPCSTR CoverPageName;
165 BOOL UseServerCoverPage;
166
167 LPCSTR RecName;
168 LPCSTR RecFaxNumber;
169 LPCSTR RecCompany;
170 LPCSTR RecStreetAddress;
171 LPCSTR RecCity;
172 LPCSTR RecState;
173 LPCSTR RecZip;
174 LPCSTR RecCountry;
175 LPCSTR RecTitle;
176 LPCSTR RecDepartment;
177 LPCSTR RecOfficeLocation;
178 LPCSTR RecHomePhone;
179 LPCSTR RecOfficePhone;
180
181 LPCSTR SdrName;
182 LPCSTR SdrFaxNumber;
183 LPCSTR SdrCompany;
184 LPCSTR SdrAddress;
185 LPCSTR SdrTitle;
186 LPCSTR SdrDepartment;
187 LPCSTR SdrOfficeLocation;
188 LPCSTR SdrHomePhone;
189 LPCSTR SdrOfficePhone;
190
191 LPCSTR Node;
192 LPCSTR Subject;
193 SYSTEMTIME TimeSent;
194 DWORD PageCount;
195 } FAX_COVERAGE_INFOA, *PFAX_COVERAGE_INFOA;
196
197 typedef struct _FAX_COVERAGE_INFOW
198 {
199 DWORD SizeOfStruct;
200
201 LPCWSTR CoverPageName;
202 BOOL UseServerCoverPage;
203
204 LPCWSTR RecName;
205 LPCWSTR RecFaxNumber;
206 LPCWSTR RecCompany;
207 LPCWSTR RecStreetAddress;
208 LPCWSTR RecCity;
209 LPCWSTR RecState;
210 LPCWSTR RecZip;
211 LPCWSTR RecCountry;
212 LPCWSTR RecTitle;
213 LPCWSTR RecDepartment;
214 LPCWSTR RecOfficeLocation;
215 LPCWSTR RecHomePhone;
216 LPCWSTR RecOfficePhone;
217
218 LPCWSTR SdrName;
219 LPCWSTR SdrFaxNumber;
220 LPCWSTR SdrCompany;
221 LPCWSTR SdrAddress;
222 LPCWSTR SdrTitle;
223 LPCWSTR SdrDepartment;
224 LPCWSTR SdrOfficeLocation;
225 LPCWSTR SdrHomePhone;
226 LPCWSTR SdrOfficePhone;
227
228 LPCWSTR Node;
229 LPCWSTR Subject;
230 SYSTEMTIME TimeSent;
231 DWORD PageCount;
232 } FAX_COVERAGE_INFOW, *PFAX_COVERAGE_INFOW;
233
234 typedef struct _FAX_GLOBAL_ROUTING_INFOA
235 {
236 DWORD SizeOfStruct;
237 DWORD Priority;
238 LPCSTR Guid;
239 LPCSTR FriendlyName;
240 LPCSTR FunctionName;
241 LPCSTR ExtensionImageName;
242 LPCSTR ExtensionFriendlyName;
243 } FAX_GLOBAL_ROUTING_INFOA, *PFAX_GLOBAL_ROUTING_INFOA;
244
245 typedef struct _FAX_GLOBAL_ROUTING_INFOW
246 {
247 DWORD SizeOfStruct;
248 DWORD Priority;
249 LPCWSTR Guid;
250 LPCWSTR FriendlyName;
251 LPCWSTR FunctionName;
252 LPCWSTR ExtensionImageName;
253 LPCWSTR ExtensionFriendlyName;
254 } FAX_GLOBAL_ROUTING_INFOW, *PFAX_GLOBAL_ROUTING_INFOW;
255
256 typedef struct _FAX_JOB_ENTRYA
257 {
258 DWORD SizeOfStruct;
259 DWORD JobId;
260 LPCSTR UserName;
261 DWORD JobType;
262 DWORD QueueStatus;
263 DWORD Status;
264 DWORD Size;
265 DWORD PageCount;
266 LPCSTR RecipientNumber;
267 LPCSTR RecipientName;
268 LPCSTR Tsid;
269 LPCSTR SenderName;
270 LPCSTR SenderCompany;
271 LPCSTR SenderDept;
272 LPCSTR BillingCode;
273 DWORD ScheduleAction;
274 SYSTEMTIME ScheduleTime;
275 DWORD DeliveryReportType;
276 LPCSTR DeliveryReportAddress;
277 LPCSTR DocumentName;
278 } FAX_JOB_ENTRYA, *PFAX_JOB_ENTRYA;
279
280 typedef struct _FAX_JOB_ENTRYW
281 {
282 DWORD SizeOfStruct;
283 DWORD JobId;
284 LPCWSTR UserName;
285 DWORD JobType;
286 DWORD QueueStatus;
287 DWORD Status;
288 DWORD Size;
289 DWORD PageCount;
290 LPCWSTR RecipientNumber;
291 LPCWSTR RecipientName;
292 LPCWSTR Tsid;
293 LPCWSTR SenderName;
294 LPCWSTR SenderCompany;
295 LPCWSTR SenderDept;
296 LPCWSTR BillingCode;
297 DWORD ScheduleAction;
298 SYSTEMTIME ScheduleTime;
299 DWORD DeliveryReportType;
300 LPCWSTR DeliveryReportAddress;
301 LPCWSTR DocumentName;
302 } FAX_JOB_ENTRYW, *PFAX_JOB_ENTRYW;
303
304 typedef struct _FAX_PORT_INFOA
305 {
306 DWORD SizeOfStruct;
307 DWORD DeviceId;
308 DWORD State;
309 DWORD Flags;
310 DWORD Rings;
311 DWORD Priority;
312 LPCSTR DeviceName;
313 LPCSTR Tsid;
314 LPCSTR Csid;
315 } FAX_PORT_INFOA, *PFAX_PORT_INFOA;
316
317 typedef struct _FAX_PORT_INFOW
318 {
319 DWORD SizeOfStruct;
320 DWORD DeviceId;
321 DWORD State;
322 DWORD Flags;
323 DWORD Rings;
324 DWORD Priority;
325 LPCWSTR DeviceName;
326 LPCWSTR Tsid;
327 LPCWSTR Csid;
328 } FAX_PORT_INFOW, *PFAX_PORT_INFOW;
329
330 typedef struct _FAX_ROUTING_METHODA
331 {
332 DWORD SizeOfStruct;
333 DWORD DeviceId;
334 BOOL Enabled;
335 LPCSTR DeviceName;
336 LPCSTR Guid;
337 LPCSTR FriendlyName;
338 LPCSTR FunctionName;
339 LPCSTR ExtensionImageName;
340 LPCSTR ExtensionFriendlyName;
341 } FAX_ROUTING_METHODA, *PFAX_ROUTING_METHODA;
342
343 typedef struct _FAX_ROUTING_METHODW
344 {
345 DWORD SizeOfStruct;
346 DWORD DeviceId;
347 BOOL Enabled;
348 LPCWSTR DeviceName;
349 LPCWSTR Guid;
350 LPCWSTR FriendlyName;
351 LPCWSTR FunctionName;
352 LPCWSTR ExtensionImageName;
353 LPCWSTR ExtensionFriendlyName;
354 } FAX_ROUTING_METHODW, *PFAX_ROUTING_METHODW;
355
356 typedef struct _FAX_CONFIGURATIONA
357 {
358 DWORD SizeOfStruct;
359 DWORD Retries;
360 DWORD RetryDelay;
361 BOOL Branding;
362 DWORD DirtyDays;
363 BOOL UseDeviceTsid;
364 BOOL ServerCp;
365 BOOL PauseServerQueue;
366 FAX_TIME StartCheapTime;
367 FAX_TIME StopCheapTime;
368 BOOL ArchiveOutgoingFaxes;
369 LPCSTR ArchiveDirectory;
370 LPCSTR InboundProfile;
371 } FAX_CONFIGURATIONA, *PFAX_CONFIGURATIONA;
372
373 typedef struct _FAX_CONFIGURATIONW
374 {
375 DWORD SizeOfStruct;
376 DWORD Retries;
377 DWORD RetryDelay;
378 BOOL Branding;
379 DWORD DirtyDays;
380 BOOL UseDeviceTsid;
381 BOOL ServerCp;
382 BOOL PauseServerQueue;
383 FAX_TIME StartCheapTime;
384 FAX_TIME StopCheapTime;
385 BOOL ArchiveOutgoingFaxes;
386 LPCWSTR ArchiveDirectory;
387 LPCWSTR InboundProfile;
388 } FAX_CONFIGURATIONW, *PFAX_CONFIGURATIONW;
389
390 typedef struct _FAX_DEVICE_STATUSA
391 {
392 DWORD SizeOfStruct;
393 LPCSTR CallerId;
394 LPCSTR Csid;
395 DWORD CurrentPage;
396 DWORD DeviceId;
397 LPCSTR DeviceName;
398 LPCSTR DocumentName;
399 DWORD JobType;
400 LPCSTR PhoneNumber;
401 LPCSTR RoutingString;
402 LPCSTR SenderName;
403 LPCSTR RecipientName;
404 DWORD Size;
405 FILETIME StartTime;
406 DWORD Status;
407 LPCSTR StatusString;
408 FILETIME SubmittedTime;
409 DWORD TotalPages;
410 LPCSTR Tsid;
411 LPCSTR UserName;
412 } FAX_DEVICE_STATUSA, *PFAX_DEVICE_STATUSA;
413
414 typedef struct _FAX_DEVICE_STATUSW
415 {
416 DWORD SizeOfStruct;
417 LPCWSTR CallerId;
418 LPCWSTR Csid;
419 DWORD CurrentPage;
420 DWORD DeviceId;
421 LPCWSTR DeviceName;
422 LPCWSTR DocumentName;
423 DWORD JobType;
424 LPCWSTR PhoneNumber;
425 LPCWSTR RoutingString;
426 LPCWSTR SenderName;
427 LPCWSTR RecipientName;
428 DWORD Size;
429 FILETIME StartTime;
430 DWORD Status;
431 LPCWSTR StatusString;
432 FILETIME SubmittedTime;
433 DWORD TotalPages;
434 LPCWSTR Tsid;
435 LPCWSTR UserName;
436 } FAX_DEVICE_STATUSW, *PFAX_DEVICE_STATUSW;
437
438 typedef struct _FAX_LOG_CATEGORYA
439 {
440 LPCSTR Name;
441 DWORD Category;
442 DWORD Level;
443 } FAX_LOG_CATEGORYA, *PFAX_LOG_CATEGORYA;
444
445 typedef struct _FAX_LOG_CATEGORYW
446 {
447 LPCWSTR Name;
448 DWORD Category;
449 DWORD Level;
450 } FAX_LOG_CATEGORYW, *PFAX_LOG_CATEGORYW;
451
452 typedef struct _FAX_CONTEXT_INFOA
453 {
454 DWORD SizeOfStruct;
455 HDC hDC;
456 CHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1];
457 } FAX_CONTEXT_INFOA, *PFAX_CONTEXT_INFOA;
458
459 typedef struct _FAX_CONTEXT_INFOW
460 {
461 DWORD SizeOfStruct;
462 HDC hDC;
463 WCHAR ServerName[MAX_COMPUTERNAME_LENGTH + 1];
464 } FAX_CONTEXT_INFOW, *PFAX_CONTEXT_INFOW;
465
466 typedef struct _FAX_PRINT_INFOA
467 {
468 DWORD SizeOfStruct;
469 LPCSTR DocName;
470 LPCSTR RecipientName;
471 LPCSTR RecipientNumber;
472 LPCSTR SenderName;
473 LPCSTR SenderCompany;
474 LPCSTR SenderDept;
475 LPCSTR SenderBillingCode;
476 LPCSTR Reserved;
477 LPCSTR DrEmailAddress;
478 LPCSTR OutputFileName;
479 } FAX_PRINT_INFOA, *PFAX_PRINT_INFOA;
480
481 typedef struct _FAX_PRINT_INFOW
482 {
483 DWORD SizeOfStruct;
484 LPCWSTR DocName;
485 LPCWSTR RecipientName;
486 LPCWSTR RecipientNumber;
487 LPCWSTR SenderName;
488 LPCWSTR SenderCompany;
489 LPCWSTR SenderDept;
490 LPCWSTR SenderBillingCode;
491 LPCWSTR Reserved;
492 LPCWSTR DrEmailAddress;
493 LPCWSTR OutputFileName;
494 } FAX_PRINT_INFOW, *PFAX_PRINT_INFOW;
495
496 typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKA)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMA JobParams, PFAX_COVERAGE_INFOA CoverpageInfo);
497 typedef BOOL (CALLBACK *PFAX_RECIPIENT_CALLBACKW)(HANDLE FaxHandle, DWORD RecipientNumber, LPVOID Context, PFAX_JOB_PARAMW JobParams, PFAX_COVERAGE_INFOW CoverpageInfo);
498
499 #ifndef _DISABLE_TIDENTS
500
501 #ifdef UNICODE
502 typedef FAX_JOB_PARAMW FAX_JOB_PARAM;
503 typedef PFAX_JOB_PARAMW PFAX_JOB_PARAM;
504 typedef FAX_COVERAGE_INFOW FAX_COVERAGE_INFO;
505 typedef PFAX_COVERAGE_INFOW PFAX_COVERAGE_INFO;
506 typedef FAX_GLOBAL_ROUTING_INFOW FAX_GLOBAL_ROUTING_INFO;
507 typedef PFAX_GLOBAL_ROUTING_INFOW PFAX_GLOBAL_ROUTING_INFO;
508 typedef FAX_JOB_ENTRYW FAX_JOB_ENTRY;
509 typedef PFAX_JOB_ENTRYW PFAX_JOB_ENTRY;
510 typedef FAX_PORT_INFOW FAX_PORT_INFO;
511 typedef PFAX_PORT_INFOW PFAX_PORT_INFO;
512 typedef FAX_ROUTING_METHODW FAX_ROUTING_METHOD;
513 typedef PFAX_ROUTING_METHODW PFAX_ROUTING_METHOD;
514 typedef FAX_CONFIGURATIONW FAX_CONFIGURATION;
515 typedef PFAX_CONFIGURATIONW PFAX_CONFIGURATION;
516 typedef FAX_DEVICE_STATUSW FAX_DEVICE_STATUS;
517 typedef PFAX_DEVICE_STATUSW PFAX_DEVICE_STATUS;
518 typedef FAX_LOG_CATEGORYW FAX_LOG_CATEGORY;
519 typedef PFAX_LOG_CATEGORYW PFAX_LOG_CATEGORY;
520 typedef FAX_CONTEXT_INFOW FAX_CONTEXT_INFO;
521 typedef PFAX_CONTEXT_INFOW PFAX_CONTEXT_INFO;
522 typedef FAX_PRINT_INFOW FAX_PRINT_INFO;
523 typedef PFAX_PRINT_INFOW PFAX_PRINT_INFO;
524 typedef PFAX_RECIPIENT_CALLBACKA PFAX_RECIPIENT_CALLBACK;
525 #define FaxCompleteJobParams FaxCompleteJobParamsW
526 #define FaxConnectFaxServer FaxConnectFaxServerW
527 #define FaxEnableRoutingMethod FaxEnableRoutingMethodW
528 #define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoW
529 #define FaxEnumJobs FaxEnumJobsW
530 #define FaxEnumPorts FaxEnumPortsW
531 #define FaxEnumRoutingMethods FaxEnumRoutingMethodsW
532 #define FaxGetConfiguration FaxGetConfigurationW
533 #define FaxGetDeviceStatus FaxGetDeviceStatusW
534 #define FaxGetJob FaxGetJobW
535 #define FaxGetLoggingCategories FaxGetLoggingCategoriesW
536 #define FaxGetPort FaxGetPortW
537 #define FaxGetRoutingInfo FaxGetRoutingInfoW
538 #define FaxSendDocument FaxSendDocumentW
539 #define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastW
540 #define FaxSetConfiguration FaxSetConfigurationW
541 #define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoW
542 #define FaxSetJob FaxSetJobW
543 #define FaxSetLoggingCategories FaxSetLoggingCategoriesW
544 #define FaxSetPort FaxSetPortW
545 #define FaxSetRoutingInfo FaxSetRoutingInfoW
546 #define FaxStartPrintJob FaxStartPrintJobW
547 #else /* !UNICODE */
548 typedef FAX_JOB_PARAMA FAX_JOB_PARAM;
549 typedef PFAX_JOB_PARAMA PFAX_JOB_PARAM;
550 typedef FAX_COVERAGE_INFOA FAX_COVERAGE_INFO;
551 typedef PFAX_COVERAGE_INFOA PFAX_COVERAGE_INFO;
552 typedef FAX_GLOBAL_ROUTING_INFOA FAX_GLOBAL_ROUTING_INFO;
553 typedef PFAX_GLOBAL_ROUTING_INFOA PFAX_GLOBAL_ROUTING_INFO;
554 typedef FAX_JOB_ENTRYA FAX_JOB_ENTRY;
555 typedef PFAX_JOB_ENTRYA PFAX_JOB_ENTRY;
556 typedef FAX_PORT_INFOA FAX_PORT_INFO;
557 typedef PFAX_PORT_INFOA PFAX_PORT_INFO;
558 typedef FAX_ROUTING_METHODA FAX_ROUTING_METHOD;
559 typedef PFAX_ROUTING_METHODA PFAX_ROUTING_METHOD;
560 typedef FAX_CONFIGURATIONA FAX_CONFIGURATION;
561 typedef PFAX_CONFIGURATIONA PFAX_CONFIGURATION;
562 typedef FAX_DEVICE_STATUSA FAX_DEVICE_STATUS;
563 typedef PFAX_DEVICE_STATUSA PFAX_DEVICE_STATUS;
564 typedef FAX_LOG_CATEGORYA FAX_LOG_CATEGORY;
565 typedef PFAX_LOG_CATEGORYA PFAX_LOG_CATEGORY;
566 typedef FAX_CONTEXT_INFOA FAX_CONTEXT_INFO;
567 typedef PFAX_CONTEXT_INFOA PFAX_CONTEXT_INFO;
568 typedef FAX_PRINT_INFOA FAX_PRINT_INFO;
569 typedef PFAX_PRINT_INFOA PFAX_PRINT_INFO;
570 typedef PFAX_RECIPIENT_CALLBACKW PFAX_RECIPIENT_CALLBACK;
571 #define FaxCompleteJobParams FaxCompleteJobParamsA
572 #define FaxConnectFaxServer FaxConnectFaxServerA
573 #define FaxEnableRoutingMethod FaxEnableRoutingMethodA
574 #define FaxEnumGlobalRoutingInfo FaxEnumGlobalRoutingInfoA
575 #define FaxEnumJobs FaxEnumJobsA
576 #define FaxEnumPorts FaxEnumPortsA
577 #define FaxEnumRoutingMethods FaxEnumRoutingMethodsA
578 #define FaxGetConfiguration FaxGetConfigurationA
579 #define FaxGetDeviceStatus FaxGetDeviceStatusA
580 #define FaxGetJob FaxGetJobA
581 #define FaxGetLoggingCategories FaxGetLoggingCategoriesA
582 #define FaxGetPort FaxGetPortA
583 #define FaxGetRoutingInfo FaxGetRoutingInfoA
584 #define FaxSendDocument FaxSendDocumentA
585 #define FaxSendDocumentForBroadcast FaxSendDocumentForBroadcastA
586 #define FaxSetConfiguration FaxSetConfigurationA
587 #define FaxSetGlobalRoutingInfo FaxSetGlobalRoutingInfoA
588 #define FaxSetJob FaxSetJobA
589 #define FaxSetLoggingCategories FaxSetLoggingCategoriesA
590 #define FaxSetPort FaxSetPortA
591 #define FaxSetRoutingInfo FaxSetRoutingInfoA
592 #define FaxStartPrintJob FaxStartPrintJobA
593 #endif /* UNICODE */
594
595 #endif /* _DISABLE_TIDENTS */
596
597 typedef BOOL (CALLBACK *PFAX_ROUTING_INSTALLATION_CALLBACKW)(HANDLE FaxHandle, LPVOID Context, LPWSTR MethodName, LPWSTR FriendlyName, LPWSTR FunctionName, LPWSTR Guid);
598 #define PFAX_ROUTING_INSTALLATION_CALLBACK PFAX_ROUTING_INSTALLATION_CALLBACKW
599 #define FaxRegisterRoutingExtension FaxRegisterRoutingExtensionW
600 #define FaxRegisterServiceProvider FaxRegisterServiceProviderW
601
602 BOOL WINAPI FaxAbort(HANDLE FaxHandle, DWORD JobId);
603 BOOL WINAPI FaxAccessCheck(HANDLE FaxHandle, DWORD AccessMask);
604 BOOL WINAPI FaxClose(HANDLE FaxHandle);
605 BOOL WINAPI FaxCompleteJobParamsA(PFAX_JOB_PARAMA *JobParams, PFAX_COVERAGE_INFOA *CoverageInfo);
606 BOOL WINAPI FaxCompleteJobParamsW(PFAX_JOB_PARAMW *JobParams, PFAX_COVERAGE_INFOW *CoverageInfo);
607 BOOL WINAPI FaxConnectFaxServerA(LPCSTR MachineName, LPHANDLE FaxHandle);
608 BOOL WINAPI FaxConnectFaxServerW(LPCWSTR MachineName, LPHANDLE FaxHandle);
609 BOOL WINAPI FaxEnableRoutingMethodA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, BOOL Enabled);
610 BOOL WINAPI FaxEnableRoutingMethodW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, BOOL Enabled);
611 BOOL WINAPI FaxEnumGlobalRoutingInfoA(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOA *RoutingInfo, LPDWORD MethodsReturned);
612 BOOL WINAPI FaxEnumGlobalRoutingInfoW(HANDLE FaxHandle, PFAX_GLOBAL_ROUTING_INFOW *RoutingInfo, LPDWORD MethodsReturned);
613 BOOL WINAPI FaxEnumJobsA(HANDLE FaxHandle, PFAX_JOB_ENTRYA *JobEntry, LPDWORD JobsReturned);
614 BOOL WINAPI FaxEnumJobsW(HANDLE FaxHandle, PFAX_JOB_ENTRYW *JobEntry, LPDWORD JobsReturned);
615 BOOL WINAPI FaxEnumPortsA(HANDLE FaxHandle, PFAX_PORT_INFOA *PortInfo, LPDWORD PortsReturned);
616 BOOL WINAPI FaxEnumPortsW(HANDLE FaxHandle, PFAX_PORT_INFOW *PortInfo, LPDWORD PortsReturned);
617 BOOL WINAPI FaxEnumRoutingMethodsA(HANDLE FaxPortHandle, PFAX_ROUTING_METHODA *RoutingMethod, LPDWORD MethodsReturned);
618 BOOL WINAPI FaxEnumRoutingMethodsW(HANDLE FaxPortHandle, PFAX_ROUTING_METHODW *RoutingMethod, LPDWORD MethodsReturned);
619 VOID WINAPI FaxFreeBuffer(LPVOID Buffer);
620 BOOL WINAPI FaxGetConfigurationA(HANDLE FaxHandle, PFAX_CONFIGURATIONA *FaxConfig);
621 BOOL WINAPI FaxGetConfigurationW(HANDLE FaxHandle, PFAX_CONFIGURATIONW *FaxConfig);
622 BOOL WINAPI FaxGetDeviceStatusA(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSA *DeviceStatus);
623 BOOL WINAPI FaxGetDeviceStatusW(HANDLE FaxPortHandle, PFAX_DEVICE_STATUSW *DeviceStatus);
624 BOOL WINAPI FaxGetJobA(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYA *JobEntry);
625 BOOL WINAPI FaxGetJobW(HANDLE FaxHandle, DWORD JobId, PFAX_JOB_ENTRYW *JobEntry);
626 BOOL WINAPI FaxGetLoggingCategoriesA(HANDLE FaxHandle, PFAX_LOG_CATEGORYA *Categories, LPDWORD NumberCategories);
627 BOOL WINAPI FaxGetLoggingCategoriesW(HANDLE FaxHandle, PFAX_LOG_CATEGORYW *Categories, LPDWORD NumberCategories);
628 BOOL WINAPI FaxGetPageData(HANDLE FaxHandle, DWORD JobId, LPBYTE *Buffer, LPDWORD BufferSize, LPDWORD ImageWidth, LPDWORD ImageHeight);
629 BOOL WINAPI FaxGetPortA(HANDLE FaxPortHandle, PFAX_PORT_INFOA *PortInfo);
630 BOOL WINAPI FaxGetPortW(HANDLE FaxPortHandle, PFAX_PORT_INFOW *PortInfo);
631 BOOL WINAPI FaxGetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
632 BOOL WINAPI FaxGetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, LPBYTE *RoutingInfoBuffer, LPDWORD RoutingInfoBufferSize);
633 BOOL WINAPI FaxInitializeEventQueue(HANDLE FaxHandle, HANDLE CompletionPort, ULONG_PTR CompletionKey, HWND hWnd, UINT MessageStart);
634 BOOL WINAPI FaxOpenPort(HANDLE FaxHandle, DWORD DeviceId, DWORD Flags, LPHANDLE FaxPortHandle);
635 BOOL WINAPI FaxPrintCoverPageA(CONST FAX_CONTEXT_INFOA *FaxContextInfo, CONST FAX_COVERAGE_INFOA *CoverPageInfo);
636 BOOL WINAPI FaxPrintCoverPageW(CONST FAX_CONTEXT_INFOW *FaxContextInfo, CONST FAX_COVERAGE_INFOW *CoverPageInfo);
637 BOOL WINAPI FaxRegisterRoutingExtensionW(HANDLE FaxHandle, LPCWSTR ExtensionName, LPCWSTR FriendlyName, LPCWSTR ImageName, PFAX_ROUTING_INSTALLATION_CALLBACK CallBack, LPVOID Context);
638 BOOL WINAPI FaxRegisterServiceProviderW(LPCWSTR DeviceProvider, LPCWSTR FriendlyName, LPCWSTR ImageName, LPCWSTR TspName);
639 BOOL WINAPI FaxSendDocumentA(HANDLE FaxHandle, LPCSTR FileName, PFAX_JOB_PARAMA JobParams, CONST FAX_COVERAGE_INFOA *CoverpageInfo, LPDWORD FaxJobId);
640 BOOL WINAPI FaxSendDocumentForBroadcastA(HANDLE FaxHandle, LPCSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKA FaxRecipientCallback, LPVOID Context);
641 BOOL WINAPI FaxSendDocumentForBroadcastW(HANDLE FaxHandle, LPCWSTR FileName, LPDWORD FaxJobId, PFAX_RECIPIENT_CALLBACKW FaxRecipientCallback, LPVOID Context);
642 BOOL WINAPI FaxSendDocumentW(HANDLE FaxHandle, LPCWSTR FileName, PFAX_JOB_PARAMW JobParams, CONST FAX_COVERAGE_INFOW *CoverpageInfo, LPDWORD FaxJobId);
643 BOOL WINAPI FaxSetConfigurationA(HANDLE FaxHandle, CONST FAX_CONFIGURATIONA *FaxConfig);
644 BOOL WINAPI FaxSetConfigurationW(HANDLE FaxHandle, CONST FAX_CONFIGURATIONW *FaxConfig);
645 BOOL WINAPI FaxSetGlobalRoutingInfoA(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOA *RoutingInfo);
646 BOOL WINAPI FaxSetGlobalRoutingInfoW(HANDLE FaxHandle, CONST FAX_GLOBAL_ROUTING_INFOW *RoutingInfo);
647 BOOL WINAPI FaxSetJobA(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYA *JobEntry);
648 BOOL WINAPI FaxSetJobW(HANDLE FaxHandle, DWORD JobId, DWORD Command, CONST FAX_JOB_ENTRYW *JobEntry);
649 BOOL WINAPI FaxSetLoggingCategoriesA(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYA *Categories, DWORD NumberCategories);
650 BOOL WINAPI FaxSetLoggingCategoriesW(HANDLE FaxHandle, CONST FAX_LOG_CATEGORYW *Categories, DWORD NumberCategories);
651 BOOL WINAPI FaxSetPortA(HANDLE FaxPortHandle, CONST FAX_PORT_INFOA *PortInfo);
652 BOOL WINAPI FaxSetPortW(HANDLE FaxPortHandle, CONST FAX_PORT_INFOW *PortInfo);
653 BOOL WINAPI FaxSetRoutingInfoA(HANDLE FaxPortHandle, LPCSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
654 BOOL WINAPI FaxSetRoutingInfoW(HANDLE FaxPortHandle, LPCWSTR RoutingGuid, CONST BYTE *RoutingInfoBuffer, DWORD RoutingInfoBufferSize);
655 BOOL WINAPI FaxStartPrintJobA(LPCSTR PrinterName, CONST FAX_PRINT_INFOA *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOA FaxContextInfo);
656 BOOL WINAPI FaxStartPrintJobW(LPCWSTR PrinterName, CONST FAX_PRINT_INFOW *PrintInfo, LPDWORD FaxJobId, PFAX_CONTEXT_INFOW FaxContextInfo);
657
658 #ifdef __cplusplus
659 }
660 #endif
661 #endif /* __WINFAX_H */
662
663 /* EOF */