1/*
2 * upssvc.h
3 *
4 * UPS service interface
5 *
6 * This file is part of the w32api package.
7 *
8 * Contributors:
9 *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
10 *
11 * THIS SOFTWARE IS NOT COPYRIGHTED
12 *
13 * This source code is offered for use in the public domain. You may
14 * use, modify or distribute it freely.
15 *
16 * This code is distributed in the hope that it will be useful but
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
18 * DISCLAIMED. This includes but is not limited to warranties of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
20 *
21 */
22
23#ifndef __UPSSVC_H
24#define __UPSSVC_H
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30#if defined(_APCUPS_)
31#define UPSAPI
32#else
33#define UPSAPI DECLSPEC_IMPORT
34#endif
35
36
37#define UPS_ONLINE                        1
38#define UPS_ONBATTERY                     2
39#define UPS_LOWBATTERY                    4
40#define UPS_NOCOMM                        8
41#define UPS_CRITICAL                      16
42
43UPSAPI
44VOID
45NTAPI
46UPSCancelWait(VOID);
47
48UPSAPI
49DWORD
50NTAPI
51UPSGetState(VOID);
52
53#define UPS_INITUNKNOWNERROR              0
54#define UPS_INITOK                        1
55#define UPS_INITNOSUCHDRIVER              2
56#define UPS_INITBADINTERFACE              3
57#define UPS_INITREGISTRYERROR             4
58#define UPS_INITCOMMOPENERROR             5
59#define UPS_INITCOMMSETUPERROR            6
60
61UPSAPI
62DWORD
63NTAPI
64UPSInit(VOID);
65
66UPSAPI
67VOID
68NTAPI
69UPSStop(VOID);
70
71UPSAPI
72VOID
73NTAPI
74UPSTurnOff(
75  IN DWORD  aTurnOffDelay);
76
77UPSAPI
78VOID
79NTAPI
80UPSWaitForStateChange(
81  IN DWORD  aCurrentState,
82  IN DWORD  anInterval);
83
84#ifdef __cplusplus
85}
86#endif
87
88#endif /* __UPSSVC_H */
89