Home | History | Annotate | Download | only in include
      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
     12 extern "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
    145