/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#ifndef _INC_WFEXT
#define _INC_WFEXT
#include <_mingw_unicode.h>
#ifdef __cplusplus
extern "C" {
#endif
#define MENU_TEXT_LEN 40
#define FMMENU_FIRST 1
#define FMMENU_LAST 99
#define FMEVENT_LOAD 100
#define FMEVENT_UNLOAD 101
#define FMEVENT_INITMENU 102
#define FMEVENT_USER_REFRESH 103
#define FMEVENT_SELCHANGE 104
#define FMEVENT_TOOLBARLOAD 105
#define FMEVENT_HELPSTRING 106
#define FMEVENT_HELPMENUITEM 107
#define FMFOCUS_DIR 1
#define FMFOCUS_TREE 2
#define FMFOCUS_DRIVES 3
#define FMFOCUS_SEARCH 4
#define FM_GETFOCUS (WM_USER + 0x0200)
#define FM_GETSELCOUNT (WM_USER + 0x0202)
#define FM_GETSELCOUNTLFN (WM_USER + 0x0203)
#define FM_REFRESH_WINDOWS (WM_USER + 0x0206)
#define FM_RELOAD_EXTENSIONS (WM_USER + 0x0207)
#define FM_GETDRIVEINFOA (WM_USER + 0x0201)
#define FM_GETFILESELA (WM_USER + 0x0204)
#define FM_GETFILESELLFNA (WM_USER + 0x0205)
#define FM_GETDRIVEINFOW (WM_USER + 0x0211)
#define FM_GETFILESELW (WM_USER + 0x0214)
#define FM_GETFILESELLFNW (WM_USER + 0x0215)
#define FM_GETDRIVEINFO __MINGW_NAME_AW(FM_GETDRIVEINFO)
#define FM_GETFILESEL __MINGW_NAME_AW(FM_GETFILESEL)
#define FM_GETFILESELLFN __MINGW_NAME_AW(FM_GETFILESELLFN)
typedef struct _FMS_GETFILESELA {
FILETIME ftTime;
DWORD dwSize;
BYTE bAttr;
CHAR szName[260];
} FMS_GETFILESELA,*LPFMS_GETFILESELA;
typedef struct _FMS_GETFILESELW {
FILETIME ftTime;
DWORD dwSize;
BYTE bAttr;
WCHAR szName[260];
} FMS_GETFILESELW,*LPFMS_GETFILESELW;
#define FMS_GETFILESEL __MINGW_NAME_AW(FMS_GETFILESEL)
#define LPFMS_GETFILESEL __MINGW_NAME_AW(LPFMS_GETFILESEL)
typedef struct _FMS_GETDRIVEINFOA {
DWORD dwTotalSpace;
DWORD dwFreeSpace;
CHAR szPath[260];
CHAR szVolume[14];
CHAR szShare[128];
} FMS_GETDRIVEINFOA,*LPFMS_GETDRIVEINFOA;
typedef struct _FMS_GETDRIVEINFOW {
DWORD dwTotalSpace;
DWORD dwFreeSpace;
WCHAR szPath[260];
WCHAR szVolume[14];
WCHAR szShare[128];
} FMS_GETDRIVEINFOW,*LPFMS_GETDRIVEINFOW;
#define FMS_GETDRIVEINFO __MINGW_NAME_AW(FMS_GETDRIVEINFO)
#define LPFMS_GETDRIVEINFO __MINGW_NAME_AW(LPFMS_GETDRIVEINFO)
typedef struct _FMS_LOADA {
DWORD dwSize;
CHAR szMenuName[MENU_TEXT_LEN];
HMENU hMenu;
UINT wMenuDelta;
} FMS_LOADA,*LPFMS_LOADA;
typedef struct _FMS_LOADW {
DWORD dwSize;
WCHAR szMenuName[MENU_TEXT_LEN];
HMENU hMenu;
UINT wMenuDelta;
} FMS_LOADW,*LPFMS_LOADW;
#define FMS_LOAD __MINGW_NAME_AW(FMS_LOAD)
#define LPFMS_LOAD __MINGW_NAME_AW(LPFMS_LOAD)
typedef struct tagEXT_BUTTON {
WORD idCommand;
WORD idsHelp;
WORD fsStyle;
} EXT_BUTTON,*LPEXT_BUTTON;
typedef struct tagFMS_TOOLBARLOAD {
DWORD dwSize;
LPEXT_BUTTON lpButtons;
WORD cButtons;
WORD cBitmaps;
WORD idBitmap;
HBITMAP hBitmap;
} FMS_TOOLBARLOAD,*LPFMS_TOOLBARLOAD;
typedef struct tagFMS_HELPSTRINGA {
INT idCommand;
HMENU hMenu;
CHAR szHelp[128];
} FMS_HELPSTRINGA,*LPFMS_HELPSTRINGA;
typedef struct tagFMS_HELPSTRINGW {
INT idCommand;
HMENU hMenu;
WCHAR szHelp[128];
} FMS_HELPSTRINGW,*LPFMS_HELPSTRINGW;
#define FMS_HELPSTRING __MINGW_NAME_AW(FMS_HELPSTRING)
#define LPFMS_HELPSTRING __MINGW_NAME_AW(LPFMS_HELPSTRING)
typedef DWORD (WINAPI *FM_EXT_PROC)(HWND,WORD,LONG);
typedef DWORD (WINAPI *FM_UNDELETE_PROC)(HWND,LPTSTR);
LONG WINAPI FMExtensionProcW(HWND hwnd,WORD wEvent,LONG lParam);
LONG WINAPI FMExtensionProc(HWND hwnd,WORD wEvent,LONG lParam);
#ifdef __cplusplus
}
#endif
#endif