Back to index

lightning-sunbird  0.9+nobinonly
uninstall.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 of the GNU General Public License Version 2 or later (the "GPL"),
00028  * or 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 _SETUP_H_
00041 #define _SETUP_H_
00042 
00043 #ifdef __cplusplus
00044 #define PR_BEGIN_EXTERN_C       extern "C" {
00045 #define PR_END_EXTERN_C         }
00046 #else
00047 #define PR_BEGIN_EXTERN_C
00048 #define PR_END_EXTERN_C
00049 #endif
00050 
00051 #define PR_EXTERN(type) type
00052 
00053 typedef unsigned int PRUint32;
00054 typedef int PRInt32;
00055 
00056 #define INCL_PM
00057 #define INCL_DOS
00058 #define INCL_DOSERRORS
00059 #include <os2.h>
00060 #include "nsINIParser.h"
00061 
00062 #include <string.h>
00063 #include <stdlib.h>
00064 #include <stdio.h>
00065 #include <assert.h>
00066 #include "resource.h"
00067 
00068 #define CLASS_NAME                      "Uninstall"
00069 #define FILE_INI_UNINSTALL              "uninstall.ini"
00070 #define FILE_LOG_INSTALL                "install_wizard.log"
00071 #define WIZ_TEMP_DIR                    "ns_temp"
00072 
00073 /* WTD: What To Do */
00074 #define WTD_ASK                         0
00075 #define WTD_CANCEL                      1
00076 #define WTD_NO                          2
00077 #define WTD_NO_TO_ALL                   3
00078 #define WTD_YES                         4
00079 #define WTD_YES_TO_ALL                  5
00080 
00081 /* PP: Parse Path */
00082 #define PP_FILENAME_ONLY                1
00083 #define PP_PATH_ONLY                    2
00084 #define PP_ROOT_ONLY                    3
00085 
00086 #define MAX_BUF                         4096
00087 #define ERROR_CODE_HIDE                 0
00088 #define ERROR_CODE_SHOW                 1
00089 #define CX_CHECKBOX                     13
00090 #define CY_CHECKBOX                     13
00091 
00092 /* WIZ: WIZARD defines */
00093 #define WIZ_OK                          0
00094 #define WIZ_MEMORY_ALLOC_FAILED         1
00095 #define WIZ_ERROR_UNDEFINED             2
00096 #define WIZ_FILE_NOT_FOUND              3
00097 
00098 /* CMI: Cleanup Mail Integration */
00099 #define CMI_OK                          0
00100 #define CMI_APP_PATHNAME_NOT_FOUND      1
00101 
00102 /* FO: File Operation */
00103 #define FO_OK                           0
00104 #define FO_SUCCESS                      0
00105 #define FO_ERROR_FILE_NOT_FOUND         1
00106 #define FO_ERROR_DESTINATION_CONFLICT   2
00107 #define FO_ERROR_CHANGE_DIR             3
00108 
00109 /* Mode of Setup to run in */
00110 #define NORMAL                          0
00111 #define SILENT                          1
00112 #define AUTO                            2
00113 
00114 /* OS: Operating System */
00115 #define OS_WIN9x                        0x00000001
00116 #define OS_WIN95_DEBUTE                 0x00000002
00117 #define OS_WIN95                        0x00000004
00118 #define OS_WIN98                        0x00000008
00119 #define OS_NT                           0x00000010
00120 #define OS_NT3                          0x00000020
00121 #define OS_NT4                          0x00000040
00122 #define OS_NT5                          0x00000080
00123 #define OS_NT50                         0x00000100
00124 #define OS_NT51                         0x00000200
00125 
00126 typedef struct dlgUninstall
00127 {
00128   BOOL  bShowDialog;
00129   PSZ   szTitle;
00130   PSZ   szMessage0;
00131 } diU;
00132 
00133 typedef struct uninstallStruct
00134 {
00135   ULONG     ulMode;
00136   PSZ       szAppPath;
00137   PSZ       szLogPath;
00138   PSZ       szLogFilename;
00139   PSZ       szCompanyName;
00140   PSZ       szProductName;
00141   PSZ       szDescription;
00142   PSZ       szUninstallKeyDescription;
00143   PSZ       szUninstallFilename;
00144   PSZ       szOIMainApp;
00145   PSZ       szOIKey;
00146   PSZ       szUserAgent;
00147   PSZ       szDefaultComponent;
00148   PSZ       szAppID;
00149   BOOL      bVerbose;
00150   BOOL      bUninstallFiles;
00151   PSZ       szDefinedFont[MAX_BUF];
00152 } uninstallGen;
00153 
00154 typedef struct sInfoLine sil;
00155 struct sInfoLine
00156 {
00157   unsigned long long       ullLineNumber;
00158   PSZ             szLine;
00159   sil             *Next;
00160   sil             *Prev;
00161 };
00162 
00163 #endif
00164