svcctl.idl revision 930b5f872e89407f445d4000d4e4aaecaa6a0998
/*
* svcctl interface definitions - exported by services.exe to access the
* services database
*
* Copyright 2007 Google (Mikolaj Zalewski)
*
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
import "wtypes.idl";
/*
* some defined for the C code
*/
cpp_quote("#include \"winsvc.h\"")
cpp_quote("#define SVCCTL_TRANSPORT {'n','c','a','c','n','_','n','p',0}")
cpp_quote("#define SVCCTL_ENDPOINT {'\\\\','p','i','p','e','\\\\','s','v','c','c','t','l',0}")
/* Not the Windows event name - if needed the true one can be found in Inside Windows */
cpp_quote("#define SVCCTL_STARTED_EVENT {'_','_','w','i','n','e','_','S','v','c','c','t','l','S','t','a','r','t','e','d',0}")
/* Service startup protocol over control pipe - not compatible with Windows */
enum service_pipe_command
{
WINESERV_STARTINFO = 1,
};
{
[
version(2.0),
endpoint("ncacn_np:[\\pipe\\svcctl]")
]
interface svcctl
{
/* handle types */
/* undocumented access rights */
cpp_quote("#define SERVICE_SET_STATUS 0x8000")
cpp_quote("#if 0 /* already defined in winsvc.h */")
typedef enum _SC_STATUS_TYPE {
typedef enum _SC_ACTION_TYPE {
SC_ACTION_NONE = 0,
SC_ACTION_RESTART = 1,
SC_ACTION_REBOOT = 2,
} SC_ACTION,*LPSC_ACTION;
cpp_quote("#endif")
{
/* Compatible with Windows function 0x00 */
);
/* Compatible with Windows function 0x01 */
);
/* Compatible with Windows function 0x02 */
);
/* Compatible with Windows function 0x03 */
);
/* Not compatible with Windows function 0x04 */
/* Not compatible with Windows function 0x05 */
/* Not compatible with Windows function 0x06 */
/* Compatible with Windows function 0x07 */
);
/* Compatible with Windows function 0x08 */
);
/* Not compatible with Windows function 0x09 */
/* Not compatible with Windows function 0x0a */
/* Compatible with Windows function 0x0b */
);
/* Compatible with Windows function 0x0c */
);
/* Not compatible with Windows function 0x0d */
/* Not compatible with Windows function 0x0e */
);
/* Compatible with Windows function 0x0f */
);
/* Compatible with Windows function 0x10 */
);
/* Windows function 0x11 must be using a different prototype - not compatible */
/* Not compatible with Windows function 0x12 */
/* Untested with Windows function 0x13 */
);
/* Compatible with Windows function 0x14 */
/* Compatible with Windows function 0x15 */
/* Not compatible with Windows function 0x16 */
/* Not compatible with Windows function 0x17 */
/* Not compatible with Windows function 0x18 */
/* Not compatible with Windows function 0x19 */
/* Not compatible with Windows function 0x1a */
/* Not compatible with Windows function 0x1b */
/* Not compatible with Windows function 0x1c */
/* Not compatible with Windows function 0x1d */
/* Not compatible with Windows function 0x1e */
/* Not compatible with Windows function 0x1f */
/* Not compatible with Windows function 0x20 */
/* Not compatible with Windows function 0x21 */
/* Not compatible with Windows function 0x22 */
/* Not compatible with Windows function 0x23 */
/* Not compatible with Windows function 0x24 */
/* Untested with Windows function 0x25 */
/* Not compatible with Windows function 0x26 */
/* Untested with Windows function 0x27 */
);
/* Untested with Windows function 0x28 */
);
);
}