Back to index

lightning-sunbird  0.9+nobinonly
ifuncns.h
Go to the documentation of this file.
00001 /* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
00002 /* ***** BEGIN LICENSE BLOCK *****
00003  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
00004  *
00005  * The contents of this file are subject to the Mozilla Public License Version
00006  * 1.1 (the "License"); you may not use this file except in compliance with
00007  * the License. You may obtain a copy of the License at
00008  * http://www.mozilla.org/MPL/
00009  *
00010  * Software distributed under the License is distributed on an "AS IS" basis,
00011  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
00012  * for the specific language governing rights and limitations under the
00013  * License.
00014  *
00015  * The Original Code is Mozilla Communicator client code, released
00016  * March 31, 1998.
00017  *
00018  * The Initial Developer of the Original Code is
00019  * Netscape Communications Corporation.
00020  * Portions created by the Initial Developer are Copyright (C) 1998
00021  * the Initial Developer. All Rights Reserved.
00022  *
00023  * Contributor(s):
00024  *   Sean Su <ssu@netscape.com>
00025  *
00026  * Alternatively, the contents of this file may be used under the terms of
00027  * either the GNU General Public License Version 2 or later (the "GPL"), or
00028  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
00029  * in which case the provisions of the GPL or the LGPL are applicable instead
00030  * of those above. If you wish to allow use of your version of this file only
00031  * under the terms of either the GPL or the LGPL, and not to allow others to
00032  * use your version of this file under the terms of the MPL, indicate your
00033  * decision by deleting the provisions above and replace them with the notice
00034  * and other provisions required by the GPL or the LGPL. If you do not delete
00035  * the provisions above, a recipient may use your version of this file under
00036  * the terms of any one of the MPL, the GPL or the LGPL.
00037  *
00038  * ***** END LICENSE BLOCK ***** */
00039 
00040 #ifndef _IFUNCNS_H_
00041 #define _IFUNCNS_H_
00042 
00043 HRESULT     TimingCheck(DWORD dwTiming, LPSTR szSection);
00044 HRESULT     MeetCondition(LPSTR dwSection);
00045 HRESULT     FileUncompress(LPSTR szFrom, LPSTR szTo);
00046 HRESULT     ProcessXpcomFile(void);
00047 void        CleanupXpcomFile(void);
00048 HRESULT     ProcessUncompressFile(DWORD dwTiming, char *szSectionPrefix);
00049 HRESULT     FileMove(LPSTR szFrom, LPSTR szTo);
00050 HRESULT     ProcessMoveFile(DWORD dwTiming, char *szSectionPrefix);
00051 HRESULT     FileCopy(LPSTR szFrom, LPSTR szTo, BOOL bFailIfExists, BOOL bDnu);
00052 HRESULT     ProcessCopyFile(DWORD dwTiming, char *szSectionPrefix);
00053 HRESULT     ProcessCreateDirectory(DWORD dwTiming, char *szSectionPrefix);
00054 HRESULT     ProcessCreateCustomFiles(DWORD dwTiming);
00055 HRESULT     FileDelete(LPSTR szDestination);
00056 HRESULT     ProcessDeleteFile(DWORD dwTiming, char *szSectionPrefix);
00057 HRESULT     DirectoryRemove(LPSTR szDestination, BOOL bRemoveSubdirs);
00058 HRESULT     ProcessRemoveDirectory(DWORD dwTiming, char *szSectionPrefix);
00059 HRESULT     ProcessRunApp(DWORD dwTiming, char *szSectionPrefix);
00060 HRESULT     ProcessWinReg(DWORD dwTiming, char *szSectionPrefix);
00061 HRESULT     CreateALink(LPSTR lpszPathObj,
00062                         LPSTR lpszPathLink,
00063                         LPSTR lpszDesc,
00064                         LPSTR lpszWorkingPath,
00065                         LPSTR lpszArgs,
00066                         LPSTR lpszIconFullPath,
00067                         int iIcon);
00068 HRESULT     ProcessProgramFolder(DWORD dwTiming, char *szSectionPrefix);
00069 HRESULT     ProcessProgramFolderShowCmd(void);
00070 HRESULT     CreateDirectoriesAll(char* szPath, BOOL bLogForUninstall);
00071 void        ProcessFileOps(DWORD dwTiming, char *szSectionPrefix);
00072 void        DeleteWinRegValue(HKEY hkRootKey, LPSTR szKey, LPSTR szName);
00073 void        DeleteWinRegKey(HKEY hkRootKey, LPSTR szKey, BOOL bAbsoluteDelete);
00074 DWORD       GetWinReg(HKEY hkRootKey, LPSTR szKey, LPSTR szName, LPSTR szReturnValue, DWORD dwSize);
00075 void        SetWinReg(HKEY hkRootKey,
00076                       LPSTR szKey,
00077                       BOOL bOverwriteKey,
00078                       LPSTR szName,
00079                       BOOL bOverwriteName,
00080                       DWORD dwType,
00081                       LPBYTE lpbData,
00082                       DWORD dwSize,
00083                       BOOL bLogForUninstall,
00084                       BOOL bDnu);
00085 HKEY        ParseRootKey(LPSTR szRootKey);
00086 char        *ParseRootKeyString(HKEY hkKey,
00087                                 LPSTR szRootKey,
00088                                 DWORD dwRootKeyBufSize);
00089 BOOL        ParseRegType(LPSTR szType, DWORD *dwType);
00090 BOOL        WinRegKeyExists(HKEY hkRootKey, LPSTR szKey);
00091 BOOL        WinRegNameExists(HKEY hkRootKey, LPSTR szKey, LPSTR szName);
00092 HRESULT     FileCopySequential(LPSTR szSourcePath, LPSTR szDestPath, LPSTR szFilename);
00093 HRESULT     ProcessCopyFileSequential(DWORD dwTiming, char *szSectionPrefix);
00094 void        UpdateInstallLog(LPSTR szKey, LPSTR szString, BOOL bDnu);
00095 void        UpdateInstallStatusLog(LPSTR szString);
00096 int         RegisterDll32(char *File);
00097 HRESULT     FileSelfRegister(LPSTR szFilename, LPSTR szDestination);
00098 HRESULT     ProcessSelfRegisterFile(DWORD dwTiming, char *szSectionPrefix);
00099 void        UpdateJSProxyInfo(void);
00100 int         VerifyArchive(LPSTR szArchive);
00101 HRESULT     ProcessSetVersionRegistry(DWORD dwTiming, char *szSectionPrefix);
00102 char        *BuildNumberedString(DWORD dwIndex, char *szInputStringPrefix, char *szInputString, char *szOutBuf, DWORD dwOutBufSize);
00103 void        GetUserAgentShort(char *szUserAgent, char *szOutUAShort, DWORD dwOutUAShortSize);
00104 void        CleanupPreviousVersionRegKeys(void);
00105 DWORD       ParseRestrictedAccessKey(LPSTR szKey);
00106 LPSTR       GetKeyInfo(LPSTR aKey, LPSTR aOut, DWORD aOutBufSize, DWORD aInfoType);
00107 void        AppendWinReg(HKEY hkRootKey,
00108                       LPSTR szKey,
00109                       LPSTR szName,
00110                       DWORD dwType,
00111                       LPBYTE lpbData,
00112                       BYTE delimiter,
00113                       DWORD dwSize,
00114                       BOOL bLogForUninstall,
00115                       BOOL bDnu);
00116 HRESULT     CleanupArgsRegistry();
00117 void        ProcessFileOpsForSelectedComponents(DWORD dwTiming);
00118 void        ProcessFileOpsForAll(DWORD dwTiming);
00119 HRESULT     DirHasWriteAccess(char *szPath);
00120 
00121 #define KEY_INFO_ROOT          0x00000001
00122 #define KEY_INFO_SUBKEY        0x00000002
00123 
00124 #endif /* _IFUNCNS_H_ */
00125