ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

npapi.h
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2004 Juan Lang
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
00017  */
00018 #ifndef __WINE_NPAPI_H__
00019 #define __WINE_NPAPI_H__
00020 
00021 /* capabilities */
00022 #define WNNC_SPEC_VERSION          0x00000001
00023 #define WNNC_SPEC_VERSION51        0x00050001
00024 #define WNNC_NET_TYPE              0x00000002
00025 #define WNNC_NET_NONE              0x00000000
00026 
00027 #define WNNC_DRIVER_VERSION        0x00000003
00028 
00029 #define WNNC_USER                  0x00000004
00030 #define WNNC_USR_GETUSER           0x00000001
00031 
00032 #define WNNC_CONNECTION            0x00000006
00033 #define WNNC_CON_ADDCONNECTION     0x00000001
00034 #define WNNC_CON_CANCELCONNECTION  0x00000002
00035 #define WNNC_CON_GETCONNECTIONS    0x00000004
00036 #define WNNC_CON_ADDCONNECTION3    0x00000008
00037 
00038 #define WNNC_DIALOG                0x00000008
00039 #define WNNC_DLG_DEVICEMODE        0x00000001
00040 #define WNNC_DLG_PROPERTYDIALOG    0x00000020
00041 #define WNNC_DLG_SEARCHDIALOG      0x00000040
00042 #define WNNC_DLG_FORMATNETWORKNAME 0x00000080
00043 #define WNNC_DLG_PERMISSIONEDITOR  0x00000100
00044 #define WNNC_DLG_GETRESOURCEPARENT 0x00000200
00045 #define WNNC_DLG_GETRESOURCEINFORMATION 0x00000800
00046 
00047 #define WNNC_ADMIN                 0x00000009
00048 #define WNNC_ADM_GETDIRECTORYTYPE  0x00000001
00049 #define WNNC_ADM_DIRECTORYNOTIFY   0x00000002
00050 
00051 #define WNNC_ENUMERATION           0x0000000b
00052 #define WNNC_ENUM_GLOBAL           0x00000001
00053 #define WNNC_ENUM_LOCAL            0x00000002
00054 #define WNNC_ENUM_CONTEXT          0x00000004
00055 
00056 #define WNNC_START                 0x0000000c
00057 #define WNNC_WAIT_FOR_START        0x00000001
00058 
00059 typedef DWORD (APIENTRY *PF_NPGetCaps)(DWORD ndex);
00060 
00061 /* get user */
00062 typedef DWORD (APIENTRY *PF_NPGetUser)(LPWSTR lpName, LPWSTR lpUserName,
00063  LPDWORD lpnBufferLen);
00064 
00065 /* enumeration-related */
00066 typedef DWORD (APIENTRY *PF_NPOpenEnum)(DWORD dwScope, DWORD dwType, DWORD dwUsage,
00067  LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum);
00068 typedef DWORD (APIENTRY *PF_NPEnumResource)(HANDLE hEnum, LPDWORD lpcCount,
00069  LPVOID lpBuffer, LPDWORD lpBufferSize);
00070 typedef DWORD (APIENTRY *PF_NPCloseEnum)(HANDLE hEnum);
00071 typedef DWORD (APIENTRY *PF_NPGetResourceInformation)(LPNETRESOURCEW lpNetResource,
00072  LPVOID lpBuffer, LPDWORD lpcbBuffer, LPWSTR* lplpSystem);
00073 
00074 /* connection-related */
00075 typedef DWORD (APIENTRY *PF_NPAddConnection)(LPNETRESOURCEW lpNetResource,
00076  LPWSTR lpPassword, LPWSTR lpUserName);
00077 typedef DWORD (APIENTRY *PF_NPAddConnection3)(HWND hwndOwner,
00078  LPNETRESOURCEW lpNetResource, LPWSTR lpPassword, LPWSTR lpUserName,
00079  DWORD dwFlags);
00080 typedef DWORD (APIENTRY *PF_NPCancelConnection)(LPWSTR lpName, BOOL fForce);
00081 typedef DWORD (APIENTRY *PF_NPGetConnection)(LPWSTR lpLocalName,
00082  LPWSTR lpRemoteName, LPDWORD lpnBufferLen);
00083 
00084 /* network name manipulation */
00085 typedef DWORD (APIENTRY *PF_NPGetUniversalName)(LPWSTR lpLocalPath,
00086  DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpnBufferSize);
00087 typedef DWORD (APIENTRY *PF_NPFormatNetworkName)(LPWSTR lpRemoteName,
00088  LPWSTR lpFormattedName, LPDWORD lpnLength, DWORD dwFlags,
00089  DWORD dwAveCharPerLine);
00090 
00091 /* dialogs */
00092 typedef DWORD (APIENTRY *PF_NPDeviceMode)(HWND hParent);
00093 
00094 /* search dialog */
00095 #define WNSRCH_REFRESH_FIRST_LEVEL 0x00000001
00096 
00097 typedef DWORD (APIENTRY *PF_NPSearchDialog)(HWND hwndParent,
00098  LPNETRESOURCEW lpNetResource, LPVOID lpBuffer, DWORD cbBuffer,
00099  LPDWORD lpnFlags);
00100 
00101 /* property dialog */
00102 
00103 #define WNTYPE_DRIVE   1
00104 #define WNTYPE_FILE    2
00105 #define WNTYPE_PRINTER 3
00106 #define WNTYPE_COMM    4
00107 
00108 #define WNPS_FILE 0
00109 #define WNPS_DIR  1
00110 #define WNPS_MULT 2
00111 
00112 typedef DWORD (APIENTRY *PF_NPGetPropertyText)(DWORD iButton, DWORD nPropSel,
00113  LPWSTR lpName, LPWSTR lpButtonName, DWORD nButtonNameLen, DWORD nType);
00114 
00115 typedef DWORD (APIENTRY *PF_NPPropertyDialog)(HWND hwndParent, DWORD iButtonDlg,
00116  DWORD nPropSel, LPWSTR lpFileName, DWORD nType);
00117 
00118 /* admin */
00119 #define WNDT_NORMAL  0
00120 #define WNDT_NETWORK 1
00121 
00122 #define WNDN_MKDIR 1
00123 #define WNDN_RMDIR 2
00124 #define WNDN_MVDIR 3
00125 
00126 typedef DWORD (APIENTRY *PF_NPGetDirectoryType)(LPWSTR lpName, LPINT lpType,
00127  BOOL bFlushCache);
00128 typedef DWORD (APIENTRY *PF_NPDirectoryNotify)(HWND hwnd, LPWSTR lpDir,
00129  DWORD dwOper);
00130 
00131 /* permission editor dialogs */
00132 #define WNPERMC_PERM  0x00000001
00133 #define WNPERMC_AUDIT 0x00000002
00134 #define WNPERMC_OWNER 0x00000004
00135 
00136 typedef DWORD (APIENTRY *PF_NPFMXGetPermCaps)(LPWSTR lpDriveName);
00137 
00138 #define WNPERM_DLG_PERM  0
00139 #define WNPERM_DLG_AUDIT 1
00140 #define WNPERM_DLG_OWNER 2
00141 
00142 typedef DWORD (APIENTRY *PF_NPFMXEditPerm)(LPWSTR lpDriveName, HWND hwndFMX,
00143  DWORD nDialogType);
00144 
00145 typedef DWORD (APIENTRY *PF_NPFMXGetPermHelp)(LPWSTR lpDriveName,
00146  DWORD nDialogType, BOOL fDirectory, LPVOID lpFileNameBuffer,
00147  LPDWORD lpBufferSize, LPDWORD lpnHelpContext);
00148 
00149 VOID WINAPI WNetSetLastErrorA(DWORD err, LPSTR lpError, LPSTR lpProviders);
00150 VOID WINAPI WNetSetLastErrorW(DWORD err, LPWSTR lpError, LPWSTR lpProviders);
00151 #define WNetSetLastError WINELIB_NAME_AW(WNetSetLastError)
00152 
00153 /* provider classes */
00154 #define WN_NETWORK_CLASS         0x00000001
00155 #define WN_CREDENTIAL_CLASS      0x00000002
00156 #define WN_PRIMARY_AUTHENT_CLASS 0x00000004
00157 #define WN_SERVICE_CLASS         0x00000008
00158 
00159 #define WN_VALID_LOGON_ACCOUNT   0x00000001
00160 #define WN_NT_PASSWORD_CHANGED   0x00000002
00161 
00162 /* notifications */
00163 typedef DWORD (APIENTRY *PF_NPLogonNotify)(PLUID lpLogonId,
00164  LPCWSTR lpAuthentInfoType, LPVOID lpAuthentInfo,
00165  LPCWSTR lpPreviousAuthentInfoType, LPVOID lpPreviousAuthentInfo,
00166  LPWSTR lpStationName, LPVOID StationHandle, LPWSTR *lpLogonScript);
00167 typedef DWORD (APIENTRY *PF_NPPasswordChangeNotify)(LPCWSTR lpAuthentInfoType,
00168  LPVOID lpAuthentInfo, LPCWSTR lpPreviousAuthentInfoType,
00169  LPVOID lpPreviousAuthentInfo, LPWSTR lpStationName, LPVOID StationHandle,
00170  DWORD dwChangeInfo);
00171 
00172 #define NOTIFY_PRE  0x00000001
00173 #define NOTIFY_POST 0x00000002
00174 
00175 typedef struct _NOTIFYINFO
00176 {
00177     DWORD  dwNotifyStatus;
00178     DWORD  dwOperationStatus;
00179     LPVOID lpContext;
00180 } NOTIFYINFO, *LPNOTIFYINFO;
00181 
00182 /* FIXME: NetResource is declared as a NETRESOURCE in psdk, not a NETRESOURCEW,
00183  * but how can the type change in a service provider?  Defaulting to wide-char
00184  * for consistency with the rest of the api.
00185  */
00186 typedef struct _NOTIFYADD
00187 {
00188     HWND         hwndOwner;
00189     NETRESOURCEW NetResource;
00190     DWORD        dwAddFlags;
00191 } NOTIFYADD, *LPNOTIFYADD;
00192 
00193 /* FIXME: lpName and lpProvider are declared as LPTSTRs in psdk, but again
00194  * for consistency with rest of api defaulting to LPWSTRs.
00195  */
00196 typedef struct _NOTIFYCANCEL
00197 {
00198     LPWSTR lpName;
00199     LPWSTR lpProvider;
00200     DWORD  dwFlags;
00201     BOOL   fForce;
00202 } NOTIFYCANCEL, *LPNOTIFYCANCEL;
00203 
00204 typedef DWORD (APIENTRY *PF_AddConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
00205  LPNOTIFYADD lpAddInfo);
00206 typedef DWORD (APIENTRY *PF_CancelConnectNotify)(LPNOTIFYINFO lpNotifyInfo,
00207  LPNOTIFYADD lpAddInfo);
00208 
00209 #endif /* ndef __WINE_NPAPI_H__ */

Generated on Mon May 28 2012 04:31:50 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.