master
  1/**
  2 * This file has no copyright assigned and is placed in the Public Domain.
  3 * This file is part of the mingw-w64 runtime package.
  4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5 */
  6#ifndef _INC_WFEXT
  7#define _INC_WFEXT
  8
  9#include <_mingw_unicode.h>
 10
 11#ifdef __cplusplus
 12extern "C" {
 13#endif
 14
 15#define MENU_TEXT_LEN 40
 16
 17#define FMMENU_FIRST 1
 18#define FMMENU_LAST 99
 19
 20#define FMEVENT_LOAD 100
 21#define FMEVENT_UNLOAD 101
 22#define FMEVENT_INITMENU 102
 23#define FMEVENT_USER_REFRESH 103
 24#define FMEVENT_SELCHANGE 104
 25#define FMEVENT_TOOLBARLOAD 105
 26#define FMEVENT_HELPSTRING 106
 27#define FMEVENT_HELPMENUITEM 107
 28
 29#define FMFOCUS_DIR 1
 30#define FMFOCUS_TREE 2
 31#define FMFOCUS_DRIVES 3
 32#define FMFOCUS_SEARCH 4
 33
 34#define FM_GETFOCUS (WM_USER + 0x0200)
 35#define FM_GETSELCOUNT (WM_USER + 0x0202)
 36#define FM_GETSELCOUNTLFN (WM_USER + 0x0203)
 37#define FM_REFRESH_WINDOWS (WM_USER + 0x0206)
 38#define FM_RELOAD_EXTENSIONS (WM_USER + 0x0207)
 39
 40#define FM_GETDRIVEINFOA (WM_USER + 0x0201)
 41#define FM_GETFILESELA (WM_USER + 0x0204)
 42#define FM_GETFILESELLFNA (WM_USER + 0x0205)
 43
 44#define FM_GETDRIVEINFOW (WM_USER + 0x0211)
 45#define FM_GETFILESELW (WM_USER + 0x0214)
 46#define FM_GETFILESELLFNW (WM_USER + 0x0215)
 47
 48#define FM_GETDRIVEINFO __MINGW_NAME_AW(FM_GETDRIVEINFO)
 49#define FM_GETFILESEL __MINGW_NAME_AW(FM_GETFILESEL)
 50#define FM_GETFILESELLFN __MINGW_NAME_AW(FM_GETFILESELLFN)
 51
 52  typedef struct _FMS_GETFILESELA {
 53    FILETIME ftTime;
 54    DWORD dwSize;
 55    BYTE bAttr;
 56    CHAR szName[260];
 57  } FMS_GETFILESELA,*LPFMS_GETFILESELA;
 58
 59  typedef struct _FMS_GETFILESELW {
 60    FILETIME ftTime;
 61    DWORD dwSize;
 62    BYTE bAttr;
 63    WCHAR szName[260];
 64  } FMS_GETFILESELW,*LPFMS_GETFILESELW;
 65
 66#define FMS_GETFILESEL __MINGW_NAME_AW(FMS_GETFILESEL)
 67#define LPFMS_GETFILESEL __MINGW_NAME_AW(LPFMS_GETFILESEL)
 68
 69  typedef struct _FMS_GETDRIVEINFOA {
 70    DWORD dwTotalSpace;
 71    DWORD dwFreeSpace;
 72    CHAR szPath[260];
 73    CHAR szVolume[14];
 74    CHAR szShare[128];
 75  } FMS_GETDRIVEINFOA,*LPFMS_GETDRIVEINFOA;
 76
 77  typedef struct _FMS_GETDRIVEINFOW {
 78    DWORD dwTotalSpace;
 79    DWORD dwFreeSpace;
 80    WCHAR szPath[260];
 81    WCHAR szVolume[14];
 82    WCHAR szShare[128];
 83  } FMS_GETDRIVEINFOW,*LPFMS_GETDRIVEINFOW;
 84
 85#define FMS_GETDRIVEINFO __MINGW_NAME_AW(FMS_GETDRIVEINFO)
 86#define LPFMS_GETDRIVEINFO __MINGW_NAME_AW(LPFMS_GETDRIVEINFO)
 87
 88  typedef struct _FMS_LOADA {
 89    DWORD dwSize;
 90    CHAR szMenuName[MENU_TEXT_LEN];
 91    HMENU hMenu;
 92    UINT wMenuDelta;
 93  } FMS_LOADA,*LPFMS_LOADA;
 94
 95  typedef struct _FMS_LOADW {
 96    DWORD dwSize;
 97    WCHAR szMenuName[MENU_TEXT_LEN];
 98    HMENU hMenu;
 99    UINT wMenuDelta;
100  } FMS_LOADW,*LPFMS_LOADW;
101
102#define FMS_LOAD __MINGW_NAME_AW(FMS_LOAD)
103#define LPFMS_LOAD __MINGW_NAME_AW(LPFMS_LOAD)
104
105  typedef struct tagEXT_BUTTON {
106    WORD idCommand;
107    WORD idsHelp;
108    WORD fsStyle;
109  } EXT_BUTTON,*LPEXT_BUTTON;
110
111  typedef struct tagFMS_TOOLBARLOAD {
112    DWORD dwSize;
113    LPEXT_BUTTON lpButtons;
114    WORD cButtons;
115    WORD cBitmaps;
116    WORD idBitmap;
117    HBITMAP hBitmap;
118  } FMS_TOOLBARLOAD,*LPFMS_TOOLBARLOAD;
119
120  typedef struct tagFMS_HELPSTRINGA {
121    INT idCommand;
122    HMENU hMenu;
123    CHAR szHelp[128];
124  } FMS_HELPSTRINGA,*LPFMS_HELPSTRINGA;
125
126  typedef struct tagFMS_HELPSTRINGW {
127    INT idCommand;
128    HMENU hMenu;
129    WCHAR szHelp[128];
130  } FMS_HELPSTRINGW,*LPFMS_HELPSTRINGW;
131
132#define FMS_HELPSTRING __MINGW_NAME_AW(FMS_HELPSTRING)
133#define LPFMS_HELPSTRING __MINGW_NAME_AW(LPFMS_HELPSTRING)
134
135  typedef DWORD (WINAPI *FM_EXT_PROC)(HWND,WORD,LONG);
136  typedef DWORD (WINAPI *FM_UNDELETE_PROC)(HWND,LPTSTR);
137
138  LONG WINAPI FMExtensionProcW(HWND hwnd,WORD wEvent,LONG lParam);
139  LONG WINAPI FMExtensionProc(HWND hwnd,WORD wEvent,LONG lParam);
140
141#ifdef __cplusplus
142}
143#endif
144#endif