/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the w64 mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER.PD within this package. */ #ifndef _INC_WFEXT #define _INC_WFEXT #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) #ifdef UNICODE #define FM_GETDRIVEINFO FM_GETDRIVEINFOW #define FM_GETFILESEL FM_GETFILESELW #define FM_GETFILESELLFN FM_GETFILESELLFNW #else #define FM_GETDRIVEINFO FM_GETDRIVEINFOA #define FM_GETFILESEL FM_GETFILESELA #define FM_GETFILESELLFN FM_GETFILESELLFNA #endif 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; #ifdef UNICODE #define FMS_GETFILESEL FMS_GETFILESELW #define LPFMS_GETFILESEL LPFMS_GETFILESELW #else #define FMS_GETFILESEL FMS_GETFILESELA #define LPFMS_GETFILESEL LPFMS_GETFILESELA #endif 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; #ifdef UNICODE #define FMS_GETDRIVEINFO FMS_GETDRIVEINFOW #define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOW #else #define FMS_GETDRIVEINFO FMS_GETDRIVEINFOA #define LPFMS_GETDRIVEINFO LPFMS_GETDRIVEINFOA #endif 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; #ifdef UNICODE #define FMS_LOAD FMS_LOADW #define LPFMS_LOAD LPFMS_LOADW #else #define FMS_LOAD FMS_LOADA #define LPFMS_LOAD LPFMS_LOADA #endif 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; #ifdef UNICODE #define FMS_HELPSTRING FMS_HELPSTRINGW #define LPFMS_HELPSTRING LPFMS_HELPSTRINGW #else #define FMS_HELPSTRING FMS_HELPSTRINGA #define LPFMS_HELPSTRING LPFMS_HELPSTRINGA #endif typedef DWORD (WINAPI *FM_EXT_PROC)(HWND,WORD,LONG); typedef DWORD (WINAPI *FM_UNDELETE_PROC)(HWND,LPTSTR); #ifdef UNICODE LONG WINAPI FMExtensionProcW(HWND hwnd,WORD wEvent,LONG lParam); #else LONG WINAPI FMExtensionProc(HWND hwnd,WORD wEvent,LONG lParam); #endif #ifdef __cplusplus } #endif #endif