/*
 *  spapidef.h  Setup API definitions
 *
 * =========================================================================
 *
 *                          Open Watcom Project
 *
 * Copyright (c) 2004-2026 The Open Watcom Contributors. All Rights Reserved.
 *
 *    This file is automatically generated. Do not edit directly.
 *
 * =========================================================================
 */

#ifndef _INC_SPAPIDEF
#define _INC_SPAPIDEF

#ifndef _ENABLE_AUTODEPEND
 #pragma read_only_file
#endif

#ifdef __cplusplus
extern "C" {
#endif

/* Setup log token data type */
typedef DWORDLONG   SP_LOG_TOKEN;
typedef DWORDLONG   *PSP_LOG_TOKEN;

/* Log token values */
#define LOG_TOKEN_TYPE_MASK         3
#define LOG_TOKEN_UNSPECIFIED       0
#define LOG_TOKEN_NO_LOG            1
#define LOG_TOKEN_SETUPAPI_APPLOG   2
#define LOG_TOKEN_SETUPAPI_DEVLOG   3

/* SetupCreateTextLogSection() flags */
#define TXTLOG_SETUPAPI_DEVLOG  0x00000001L
#define TXTLOG_SETUPAPI_CMDLINE 0x00000002L
#define TXTLOG_SETUPAPI_BITS    0x00000003L

/* SetupWriteTextLog() flags */
#define TXTLOG_ERROR                0x00000001L
#define TXTLOG_WARNING              0x00000002L
#define TXTLOG_SYSTEM_STATE_CHANGE  0x00000003L
#define TXTLOG_SUMMARY              0x00000004L
#define TXTLOG_DETAILS              0x00000005L
#define TXTLOG_VERBOSE              0x00000006L
#define TXTLOG_VERY_VERBOSE         0x00000007L
#define TXTLOG_TIMESTAMP            0x00010000L
#define TXTLOG_DEPTH_INCR           0x00020000L
#define TXTLOG_DEPTH_DECR           0x00040000L
#define TXTLOG_TAB_1                0x00080000L
#define TXTLOG_FLUSH_FILE           0x00100000L
#define TXTLOG_LEVEL( x )           ((x) & 0x0000000FL)

/* Setup event categories */
#define TXTLOG_DEVINST      0x00000001L
#define TXTLOG_INF          0x00000002L
#define TXTLOG_FILEQ        0x00000004L
#define TXTLOG_COPYFILES    0x00000008L
#define TXTLOG_SIGVERIF     0x00000020L
#define TXTLOG_BACKUP       0x00000080L
#define TXTLOG_UI           0x00000100L
#define TXTLOG_UTIL         0x00000200L
#define TXTLOG_INFDB        0x00000400L
#define TXTLOG_POLICY       0x00800000L
#define TXTLOG_NEWDEV       0x01000000L
#define TXTLOG_UMPNPMGR     0x02000000L
#define TXTLOG_DRIVER_STORE 0x04000000L
#define TXTLOG_SETUP        0x08000000L
#define TXTLOG_CMI          0x10000000L
#define TXTLOG_DEVMGR       0x20000000L
#define TXTLOG_INSTALLER    0x40000000L
#define TXTLOG_VENDOR       0x80000000L

#ifdef __cplusplus
} /* extern "C" */
#endif

#endif /* _INC_SPAPIDEF */
