- implementation of RtlReg* (read access), RtlEvent*, RtlSemaphore*,
[wine] / dlls / commdlg / cdlg.h
1 /*
2  *  Common Dialog Boxes interface (32 bit)
3  *
4  * Copyright 1998 Bertho A. Stultiens
5  */
6
7 #ifndef _WINE_DLL_CDLG_H
8 #define _WINE_DLL_CDLG_H
9
10 #include "dlgs.h"
11
12 /*---------------- 16-bit ----------------*/
13 extern HINSTANCE16      COMMDLG_hInstance;
14 extern HINSTANCE        COMMDLG_hInstance32;
15
16 /*---------------- 32-bit ----------------*/
17
18 /* Common dialogs implementation globals */
19 #define COMDLG32_Atom   ((ATOM)0xa000)  /* MS uses this one to identify props */
20
21 extern HINSTANCE        COMDLG32_hInstance;
22
23 void    COMDLG32_SetCommDlgExtendedError(DWORD err);
24 LPVOID  COMDLG32_AllocMem(int size);
25
26
27
28 /* Find/Replace local definitions */
29
30 #define FR_WINE_UNICODE         0x80000000
31 #define FR_WINE_REPLACE         0x40000000
32
33 typedef struct {
34         FINDREPLACEA    fr;     /* Internally used structure */
35         union {
36                 FINDREPLACEA    *fra;   /* Reference to the user supplied structure */
37                 FINDREPLACEW    *frw;
38         } user_fr;
39 } COMDLG32_FR_Data;
40
41 #define PD32_PRINT_TITLE        7000
42
43 #define PD32_VALUE_UREADABLE                  1104
44 #define PD32_INVALID_PAGE_RANGE               1105
45 #define PD32_FROM_NOT_ABOVE_TO                1106
46 #define PD32_MARGINS_OVERLAP                  1107
47 #define PD32_NR_OF_COPIES_EMPTY               1108
48 #define PD32_TOO_LARGE_COPIES                 1109
49 #define PD32_PRINT_ERROR                      1110
50 #define PD32_NO_DEFAULT_PRINTER               1111
51 #define PD32_CANT_FIND_PRINTER                1112
52 #define PD32_OUT_OF_MEMORY                    1113
53 #define PD32_GENERIC_ERROR                    1114
54 #define PD32_DRIVER_UNKNOWN                   1115
55
56 #define PD32_PRINTER_STATUS_READY             1536
57 #define PD32_PRINTER_STATUS_PAUSED            1537
58 #define PD32_PRINTER_STATUS_ERROR             1538 
59 #define PD32_PRINTER_STATUS_PENDING_DELETION  1539
60 #define PD32_PRINTER_STATUS_PAPER_JAM         1540
61 #define PD32_PRINTER_STATUS_PAPER_OUT         1541
62 #define PD32_PRINTER_STATUS_MANUAL_FEED       1542
63 #define PD32_PRINTER_STATUS_PAPER_PROBLEM     1543
64 #define PD32_PRINTER_STATUS_OFFLINE           1544
65 #define PD32_PRINTER_STATUS_IO_ACTIVE         1545
66 #define PD32_PRINTER_STATUS_BUSY              1546
67 #define PD32_PRINTER_STATUS_PRINTING          1547
68 #define PD32_PRINTER_STATUS_OUTPUT_BIN_FULL   1548
69 #define PD32_PRINTER_STATUS_NOT_AVAILABLE     1549
70 #define PD32_PRINTER_STATUS_WAITING           1550
71 #define PD32_PRINTER_STATUS_PROCESSING        1551
72 #define PD32_PRINTER_STATUS_INITIALIZING      1552
73 #define PD32_PRINTER_STATUS_WARMING_UP        1553
74 #define PD32_PRINTER_STATUS_TONER_LOW         1554
75 #define PD32_PRINTER_STATUS_NO_TONER          1555
76 #define PD32_PRINTER_STATUS_PAGE_PUNT         1556
77 #define PD32_PRINTER_STATUS_USER_INTERVENTION 1557
78 #define PD32_PRINTER_STATUS_OUT_OF_MEMORY     1558
79 #define PD32_PRINTER_STATUS_DOOR_OPEN         1559
80 #define PD32_PRINTER_STATUS_SERVER_UNKNOWN    1560
81 #define PD32_PRINTER_STATUS_POWER_SAVE        1561
82
83 #define PD32_DEFAULT_PRINTER                  1582
84 #define PD32_NR_OF_DOCUMENTS_IN_QUEUE         1583
85 #define PD32_PRINT_ALL_X_PAGES                1584
86 #define PD32_MARGINS_IN_INCHES                1585
87 #define PD32_MARGINS_IN_MILIMETERS            1586
88 #define PD32_MILIMETERS                       1587
89
90 #include "commctrl.h"
91 #include "wine/undocshell.h"
92 #include "shellapi.h"
93
94 /* DPA */
95 extern HDPA     (WINAPI* COMDLG32_DPA_Create) (INT);  
96 extern LPVOID   (WINAPI* COMDLG32_DPA_GetPtr) (const HDPA, INT);   
97 extern LPVOID   (WINAPI* COMDLG32_DPA_DeleteAllPtrs) (const HDPA hdpa);
98 extern LPVOID   (WINAPI* COMDLG32_DPA_DeletePtr) (const HDPA hdpa, INT i);
99 extern INT      (WINAPI* COMDLG32_DPA_InsertPtr) (const HDPA, INT, LPVOID); 
100 extern BOOL     (WINAPI* COMDLG32_DPA_Destroy) (const HDPA); 
101
102 /* IMAGELIST */
103 extern HICON    (WINAPI* COMDLG32_ImageList_GetIcon) (HIMAGELIST, INT, UINT);
104 extern HIMAGELIST (WINAPI *COMDLG32_ImageList_LoadImageA) (HINSTANCE, LPCSTR, INT, INT, COLORREF, UINT, UINT);
105 extern BOOL     (WINAPI* COMDLG32_ImageList_Draw) (HIMAGELIST himl, int i, HDC hdcDest, int x, int y, UINT fStyle);
106 extern BOOL     (WINAPI* COMDLG32_ImageList_Destroy) (HIMAGELIST himl);
107
108 /* ITEMIDLIST */
109
110 extern LPITEMIDLIST (WINAPI *COMDLG32_PIDL_ILClone) (LPCITEMIDLIST);
111 extern LPITEMIDLIST (WINAPI *COMDLG32_PIDL_ILCombine)(LPCITEMIDLIST,LPCITEMIDLIST);
112 extern LPITEMIDLIST (WINAPI *COMDLG32_PIDL_ILGetNext)(LPITEMIDLIST);
113 extern BOOL (WINAPI *COMDLG32_PIDL_ILRemoveLastID)(LPCITEMIDLIST);
114 extern BOOL (WINAPI *COMDLG32_PIDL_ILIsEqual)(LPCITEMIDLIST, LPCITEMIDLIST);
115
116 /* SHELL */
117 extern BOOL (WINAPI *COMDLG32_SHGetPathFromIDListA) (LPCITEMIDLIST,LPSTR);
118 extern HRESULT (WINAPI *COMDLG32_SHGetSpecialFolderLocation)(HWND,INT,LPITEMIDLIST *);
119 extern DWORD (WINAPI *COMDLG32_SHGetDesktopFolder)(IShellFolder **);
120 extern DWORD    (WINAPI *COMDLG32_SHGetFileInfoA)(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
121 extern DWORD (WINAPI *COMDLG32_SHFree)(LPVOID);
122
123 /* PATH */
124 extern BOOL (WINAPI *COMDLG32_PathIsRootA)(LPCSTR x);
125 extern LPCSTR (WINAPI *COMDLG32_PathFindFilenameA)(LPCSTR path);
126 extern DWORD (WINAPI *COMDLG32_PathRemoveFileSpecA)(LPSTR fn);
127 extern BOOL (WINAPI *COMDLG32_PathMatchSpecW)(LPCWSTR x, LPCWSTR y);
128 extern LPSTR (WINAPI *COMDLG32_PathAddBackslashA)(LPSTR path);
129 #endif
130