VirtualBox

source: vbox/trunk/include/VBox/bioslogo.h

Last change on this file was 98103, checked in by vboxsync, 16 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 3.0 KB
Line 
1/* $Id: bioslogo.h 98103 2023-01-17 14:15:46Z vboxsync $ */
2/** @file
3 * BiosLogo - The Private BIOS Logo Interface. (DEV)
4 */
5
6/*
7 * Copyright (C) 2006-2023 Oracle and/or its affiliates.
8 *
9 * This file is part of VirtualBox base platform packages, as
10 * available from https://www.virtualbox.org.
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation, in version 3 of the
15 * License.
16 *
17 * This program is distributed in the hope that it will be useful, but
18 * WITHOUT ANY WARRANTY; without even the implied warranty of
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 * General Public License for more details.
21 *
22 * You should have received a copy of the GNU General Public License
23 * along with this program; if not, see <https://www.gnu.org/licenses>.
24 *
25 * The contents of this file may alternatively be used under the terms
26 * of the Common Development and Distribution License Version 1.0
27 * (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28 * in the VirtualBox distribution, in which case the provisions of the
29 * CDDL are applicable instead of those of the GPL.
30 *
31 * You may elect to license modified versions of this file under the
32 * terms and conditions of either the GPL or the CDDL or both.
33 *
34 * SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35 */
36
37#ifndef VBOX_INCLUDED_bioslogo_h
38#define VBOX_INCLUDED_bioslogo_h
39#ifndef RT_WITHOUT_PRAGMA_ONCE
40# pragma once
41#endif
42
43#ifndef VBOX_PC_BIOS
44# include <iprt/types.h>
45# include <iprt/assert.h>
46#endif
47
48/** @defgroup grp_bios_logo The Private BIOS Logo Interface.
49 * @ingroup grp_devdrv
50 * @internal
51 *
52 * @remark All this is currently duplicated in logo.c.
53 *
54 * @{
55 */
56
57/** The extra port which is used to show the BIOS logo. */
58#define LOGO_IO_PORT 0x3b8
59
60/** The BIOS logo fade in/fade out steps. */
61#define LOGO_SHOW_STEPS 16
62
63/** @name The BIOS logo commands.
64 * @{
65 */
66#define LOGO_CMD_NOP 0
67#define LOGO_CMD_SET_OFFSET 0x100
68#define LOGO_CMD_SHOW_BMP 0x200
69/** @} */
70
71/**
72 * PC Bios logo data structure.
73 */
74typedef struct LOGOHDR
75{
76 /** Signature (LOGO_HDR_MAGIC/0x66BB). */
77 uint16_t u16Signature;
78 /** Logo time (msec). */
79 uint16_t u16LogoMillies;
80 /** Fade in - boolean. */
81 uint8_t fu8FadeIn;
82 /** Fade out - boolean. */
83 uint8_t fu8FadeOut;
84 /** Show setup - boolean. */
85 uint8_t fu8ShowBootMenu;
86 /** Reserved / padding. */
87 uint8_t u8Reserved;
88 /** Logo file size. */
89 uint32_t cbLogo;
90} LOGOHDR;
91#ifndef VBOX_PC_BIOS
92AssertCompileSize(LOGOHDR, 12);
93#endif
94/** Pointer to a PC BIOS logo header. */
95typedef LOGOHDR *PLOGOHDR;
96/** Pointer to a const PC BIOS logo header. */
97typedef LOGOHDR const *PCLOGOHDR;
98
99/** The value of the LOGOHDR::u16Signature field. */
100#define LOGO_HDR_MAGIC 0x66BB
101
102/** The value which will switch you the default logo. */
103#define LOGO_DEFAULT_LOGO 0xFFFF
104
105/** @} */
106
107#endif /* !VBOX_INCLUDED_bioslogo_h */
108
Note: See TracBrowser for help on using the repository browser.

© 2023 Oracle
ContactPrivacy policyTerms of Use