]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - ubuntu/vbox/vboxvideo/vbox_err.h
UBUNTU: ubuntu: vbox -- update to 5.2.0-dfsg-2
[mirror_ubuntu-bionic-kernel.git] / ubuntu / vbox / vboxvideo / vbox_err.h
CommitLineData
6d209b23
SF
1/*
2 * Copyright (C) 2017 Oracle Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 *
22 * Authors: Michael Thayer <michael.thayer@oracle.com>
23 */
24
25#ifndef __VBOX_ERR_H__
26#define __VBOX_ERR_H__
27
28/** @name VirtualBox error macros
29 * @{ */
30
31#define VINF_SUCCESS 0
32#define VERR_INVALID_PARAMETER (-2)
33#define VERR_INVALID_POINTER (-6)
34#define VERR_NO_MEMORY (-8)
35#define VERR_NOT_IMPLEMENTED (-12)
36#define VERR_INVALID_FUNCTION (-36)
37#define VERR_NOT_SUPPORTED (-37)
38#define VERR_TOO_MUCH_DATA (-42)
39#define VERR_NOT_FOUND (-78)
40#define VERR_INVALID_STATE (-79)
41#define VERR_OUT_OF_RESOURCES (-80)
42#define VERR_ALREADY_EXISTS (-105)
43#define VERR_INTERNAL_ERROR (-225)
44
45#define RT_SUCCESS_NP(rc) ( (int)(rc) >= VINF_SUCCESS )
46#define RT_SUCCESS(rc) ( likely(RT_SUCCESS_NP(rc)) )
47#define RT_FAILURE(rc) ( unlikely(!RT_SUCCESS_NP(rc)) )
48
49/** @} */
50
51/** @name VirtualBox assertions
52 * @{ */
53
54/* Unlike BUILD_BUG_ON(), these can be used outside of functions. */
55extern int vbox_assert_var[1];
56#define assert_compile(expr) \
57 extern int vbox_assert_var[1] __attribute__((__unused__)), \
58 vbox_assert_var[(expr) ? 1 : 0] __attribute__((__unused__))
59#define assert_compile_size(type, size) \
60 assert_compile(sizeof(type) == (size))
61
62/** @} */
63
64#endif