VirtualBox

source: vbox/trunk/include/iprt/system.h@ 11350

Last change on this file since 11350 was 11350, checked in by vboxsync, 16 years ago

iprt: Added RTSystemQueryOSInfo.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.7 KB
Line 
1/** @file
2 * IPRT - System Information.
3 */
4
5/*
6 * Copyright (C) 2006-2007 Sun Microsystems, Inc.
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License (GPL) as published by the Free Software
12 * Foundation, in version 2 as it comes in the "COPYING" file of the
13 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15 *
16 * The contents of this file may alternatively be used under the terms
17 * of the Common Development and Distribution License Version 1.0
18 * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
19 * VirtualBox OSE distribution, in which case the provisions of the
20 * CDDL are applicable instead of those of the GPL.
21 *
22 * You may elect to license modified versions of this file under the
23 * terms and conditions of either the GPL or the CDDL or both.
24 *
25 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
26 * Clara, CA 95054 USA or visit http://www.sun.com if you need
27 * additional information or have any questions.
28 */
29
30#ifndef ___iprt_system_h
31#define ___iprt_system_h
32
33#include <iprt/cdefs.h>
34#include <iprt/types.h>
35
36
37__BEGIN_DECLS
38
39/** @defgroup grp_rt_system RTSystem - System Information
40 * @ingroup grp_rt
41 * @{
42 */
43
44/**
45 * Info level for RTSystemGetOSInfo().
46 */
47typedef enum RTSYSOSINFO
48{
49 RTSYSOSINFO_INVALID = 0, /**< The usual invalid entry. */
50 RTSYSOSINFO_PRODUCT, /**< OS product name. (uname -o) */
51 RTSYSOSINFO_RELEASE, /**< OS release. (uname -r) */
52 RTSYSOSINFO_VERSION, /**< OS version, optional. (uname -v) */
53 RTSYSOSINFO_SERVICEPACK, /**< Service/fix pack level, optional. */
54 RTSYSOSINFO_END /**< End of the valid info levels. */
55} RTSYSOSINFO;
56
57
58/**
59 * Queries information about the OS.
60 *
61 * @returns IPRT status code.
62 * @retval VINF_SUCCESS on success.
63 * @retval VERR_INVALID_PARAMETER if enmInfo is invalid.
64 * @retval VERR_INVALID_POINTER if pszInfoStr is invalid.
65 * @retval VERR_BUFFER_OVERFLOW if the buffer is too small. The buffer will
66 * contain the chopped off result in this case, provided cchInfo isn't 0.
67 * @retval VERR_NOT_SUPPORTED if the info level isn't implemented. The buffer will
68 * contain an empty string.
69 *
70 * @param enmInfo The OS info level.
71 * @param pszInfo Where to store the result.
72 * @param cchInfo The size of the output buffer.
73 */
74RTDECL(int) RTSystemQueryOSInfo(RTSYSOSINFO enmInfo, char *pszInfo, size_t cchInfo);
75
76
77/** @} */
78
79__END_DECLS
80
81#endif
82
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette