blob: aa6157bfee6c058e862b6529fb0c401cd777d5c3 [file] [log] [blame]
Mike McCormack6386edc2003-08-13 01:27:48 +00001/*
Mike McCormackf6125ad2003-09-27 02:19:48 +00002 * Copyright (C) 2002,2003 Mike McCormack
Mike McCormack6386edc2003-08-13 01:27:48 +00003 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 */
18
19#ifndef __WINE_MSIQUERY_H
20#define __WINE_MSIQUERY_H
21
Dimitrie O. Paun53f9c212003-08-28 21:43:34 +000022#include <msi.h>
Mike McCormack6386edc2003-08-13 01:27:48 +000023
24typedef enum tagMSICONDITION
25{
26 MSICONDITION_FALSE = 0,
27 MSICONDITION_TRUE = 1,
28 MSICONDITION_NONE = 2,
29 MSICONDITION_ERROR = 3,
30} MSICONDITION;
31
32#define MSI_NULL_INTEGER 0x80000000
33
34typedef enum tagMSICOLINFO
35{
36 MSICOLINFO_NAMES = 0,
37 MSICOLINFO_TYPES = 1
38} MSICOLINFO;
39
40typedef enum tagMSIMODIFY
41{
42 MSIMODIFY_REFRESH = 0,
43 MSIMODIFY_INSERT = 1,
44 MSIMODIFY_UPDATE = 2,
45 MSIMODIFY_ASSIGN = 3,
46 MSIMODIFY_REPLACE = 4,
47 MSIMODIFY_MERGE = 5,
48 MSIMODIFY_DELETE = 6,
49 MSIMODIFY_INSERT_TEMPORARY = 7,
50 MSIMODIFY_VALIDATE = 8,
51 MSIMODIFY_VALIDATE_NEW = 9,
52 MSIMODIFY_VALIDATE_FIELD = 10,
53 MSIMODIFY_VALIDATE_DELETE = 11
54} MSIMODIFY;
55
56#define MSI_NULL_INTEGER 0x80000000
57
Mike McCormack22f450f2003-11-05 01:50:30 +000058#define MSIDBOPEN_READONLY (LPCTSTR)0
59#define MSIDBOPEN_TRANSACT (LPCTSTR)1
60#define MSIDBOPEN_DIRECT (LPCTSTR)2
61#define MSIDBOPEN_CREATE (LPCTSTR)3
62
63
Mike McCormack6386edc2003-08-13 01:27:48 +000064/* view manipulation */
65UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
66UINT WINAPI MsiViewExecute(MSIHANDLE,MSIHANDLE);
67UINT WINAPI MsiViewClose(MSIHANDLE);
68UINT WINAPI MsiDatabaseOpenViewA(MSIHANDLE,LPCSTR,MSIHANDLE*);
69UINT WINAPI MsiDatabaseOpenViewW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
Mike McCormackf6125ad2003-09-27 02:19:48 +000070#define MsiDatabaseOpenView WINELIB_NAME_AW(MsiDatabaseOpenView)
Mike McCormack6386edc2003-08-13 01:27:48 +000071
72/* record manipulation */
73MSIHANDLE WINAPI MsiCreateRecord(unsigned int);
74UINT WINAPI MsiRecordClearData(MSIHANDLE);
75UINT WINAPI MsiRecordSetInteger(MSIHANDLE,unsigned int,int);
76UINT WINAPI MsiRecordSetStringA(MSIHANDLE,unsigned int,LPCSTR);
77UINT WINAPI MsiRecordSetStringW(MSIHANDLE,unsigned int,LPCWSTR);
Mike McCormackf6125ad2003-09-27 02:19:48 +000078#define MsiRecordSetString WINELIB_NAME_AW(MsiRecordSetString)
Mike McCormack6386edc2003-08-13 01:27:48 +000079UINT WINAPI MsiRecordGetStringA(MSIHANDLE,unsigned int,LPSTR,DWORD*);
80UINT WINAPI MsiRecordGetStringW(MSIHANDLE,unsigned int,LPWSTR,DWORD*);
Mike McCormackf6125ad2003-09-27 02:19:48 +000081#define MsiRecordGetString WINELIB_NAME_AW(MsiRecordGetString)
Mike McCormack6386edc2003-08-13 01:27:48 +000082UINT WINAPI MsiRecordGetFieldCount(MSIHANDLE);
83int WINAPI MsiRecordGetInteger(MSIHANDLE,unsigned int);
84UINT WINAPI MsiRecordDataSize(MSIHANDLE,unsigned int);
85BOOL WINAPI MsiRecordIsNull(MSIHANDLE,unsigned int);
86UINT WINAPI MsiFormatRecordA(MSIHANDLE,MSIHANDLE,LPSTR,DWORD*);
87UINT WINAPI MsiFormatRecordW(MSIHANDLE,MSIHANDLE,LPWSTR,DWORD*);
Mike McCormackf6125ad2003-09-27 02:19:48 +000088#define MsiFormatRecord WINELIB_NAME_AW(MsiFormatRecord)
Mike McCormack6386edc2003-08-13 01:27:48 +000089UINT WINAPI MsiRecordSetStreamA(MSIHANDLE,unsigned int,LPCSTR);
90UINT WINAPI MsiRecordSetStreamW(MSIHANDLE,unsigned int,LPCWSTR);
Mike McCormackf6125ad2003-09-27 02:19:48 +000091#define MsiRecordSetStream WINELIB_NAME_AW(MsiRecordSetStream)
Mike McCormack6386edc2003-08-13 01:27:48 +000092UINT WINAPI MsiRecordReadStream(MSIHANDLE,unsigned int,char*,DWORD *);
93
94UINT WINAPI MsiDatabaseGetPrimaryKeysA(MSIHANDLE,LPCSTR,MSIHANDLE*);
95UINT WINAPI MsiDatabaseGetPrimaryKeysW(MSIHANDLE,LPCWSTR,MSIHANDLE*);
Mike McCormackf6125ad2003-09-27 02:19:48 +000096#define MsiDatabaseGetPrimaryKeys WINELIB_NAME_AW(MsiDatabaseGetPrimaryKeys)
Mike McCormack6386edc2003-08-13 01:27:48 +000097
98/* installing */
99UINT WINAPI MsiDoActionA(MSIHANDLE,LPCSTR );
100UINT WINAPI MsiDoActionW(MSIHANDLE,LPCWSTR );
Mike McCormackf6125ad2003-09-27 02:19:48 +0000101#define MsiDoAction WINELIB_NAME_AW(MsiDoAction)
Mike McCormack6386edc2003-08-13 01:27:48 +0000102
103/* database transforms */
104UINT WINAPI MsiDatabaseApplyTransformA(MSIHANDLE,LPCSTR,int);
105UINT WINAPI MsiDatabaseApplyTransformW(MSIHANDLE,LPCWSTR,int);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000106#define MsiDatabaseApplyTransform WINELIB_NAME_AW(MsiDatabaseApplyTransform)
Mike McCormack6386edc2003-08-13 01:27:48 +0000107UINT WINAPI MsiDatabaseGenerateTransformA(MSIHANDLE,MSIHANDLE,LPCSTR,int,int);
108UINT WINAPI MsiDatabaseGenerateTransformW(MSIHANDLE,MSIHANDLE,LPCWSTR,int,int);
Mike McCormackf6125ad2003-09-27 02:19:48 +0000109#define MsiDatabaseGenerateTransform WINELIB_NAME_AW(MsiDatabaseGenerateTransform)
Mike McCormack6386edc2003-08-13 01:27:48 +0000110
111UINT WINAPI MsiDatabaseCommit(MSIHANDLE);
112
Mike McCormackf6125ad2003-09-27 02:19:48 +0000113/* install state */
114UINT WINAPI MsiGetFeatureStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
115UINT WINAPI MsiGetFeatureStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
116#define MsiGetFeatureState WINELIB_NAME_AW(MsiGetFeatureState)
117UINT WINAPI MsiGetComponentStateA(MSIHANDLE,LPSTR,INSTALLSTATE*,INSTALLSTATE*);
118UINT WINAPI MsiGetComponentStateW(MSIHANDLE,LPWSTR,INSTALLSTATE*,INSTALLSTATE*);
119#define MsiGetComponentState WINELIB_NAME_AW(MsiGetComponentState)
120
Mike McCormackd72bd7e2003-12-01 22:38:43 +0000121MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE,LPCSTR);
122MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR);
123#define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition)
124
Mike McCormackf6125ad2003-09-27 02:19:48 +0000125
Mike McCormack6386edc2003-08-13 01:27:48 +0000126#endif /* __WINE_MSIQUERY_H */