1/* 2 * Copyright (c) 2000-2005 Apple Computer, Inc. All rights reserved. 3 * 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. The rights granted to you under the License 10 * may not be used to create, or enable the creation or redistribution of, 11 * unlawful or unlicensed copies of an Apple operating system, or to 12 * circumvent, violate, or enable the circumvention or violation of, any 13 * terms of an Apple operating system software license agreement. 14 * 15 * Please obtain a copy of the License at 16 * http://www.opensource.apple.com/apsl/ and read it before using this file. 17 * 18 * The Original Code and all software distributed under the License are 19 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 22 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 23 * Please see the License for the specific language governing rights and 24 * limitations under the License. 25 * 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ 27 */ 28/* 29 * @OSF_COPYRIGHT@ 30 */ 31/* 32 * @APPLE_FREE_COPYRIGHT@ 33 */ 34 35#ifndef _VIDEO_CONSOLE_H_ 36#define _VIDEO_CONSOLE_H_ 37 38#include <device/device_types.h> 39 40#ifdef __cplusplus 41extern "C" { 42#endif 43 44void vcputc(int, int, int); 45 46int vcgetc( int l, 47 int u, 48 boolean_t wait, 49 boolean_t raw ); 50 51void video_scroll_up( void *start, 52 void *end, 53 void *dest ); 54 55void video_scroll_down( void *start, /* HIGH addr */ 56 void *end, /* LOW addr */ 57 void *dest ); /* HIGH addr */ 58 59struct vc_info 60{ 61 unsigned int v_height; /* pixels */ 62 unsigned int v_width; /* pixels */ 63 unsigned int v_depth; 64 unsigned int v_rowbytes; 65 unsigned long v_baseaddr; 66 unsigned int v_type; 67 char v_name[32]; 68 uint64_t v_physaddr; 69 unsigned int v_rows; /* characters */ 70 unsigned int v_columns; /* characters */ 71 unsigned int v_rowscanbytes; /* Actualy number of bytes used for display per row*/ 72 unsigned int v_scale; 73 unsigned int v_reserved[4]; 74}; 75 76struct vc_progress_element { 77 unsigned int version; 78 unsigned int flags; 79 unsigned int time; 80 unsigned char count; 81 unsigned char res[3]; 82 int width; 83 int height; 84 int dx; 85 int dy; 86 int transparent; 87 unsigned int res2[3]; 88}; 89typedef struct vc_progress_element vc_progress_element; 90 91void vc_progress_initialize( vc_progress_element * desc, 92 const unsigned char * data1x, 93 const unsigned char * data2x, 94 const unsigned char * clut ); 95 96void vc_progress_set(boolean_t enable, uint32_t vc_delay); 97 98void vc_display_icon( vc_progress_element * desc, const unsigned char * data ); 99 100int vc_display_lzss_icon(uint32_t dst_x, uint32_t dst_y, 101 uint32_t image_width, uint32_t image_height, 102 const uint8_t *compressed_image, 103 uint32_t compressed_size, 104 const uint8_t *clut); 105 106#if !CONFIG_EMBEDDED 107 108extern void vc_enable_progressmeter(int new_value); 109extern void vc_set_progressmeter(int new_value); 110extern int vc_progress_meter_enable; 111extern int vc_progress_meter_value; 112 113#endif /* !CONFIG_EMBEDDED */ 114 115#ifdef __cplusplus 116} 117#endif 118 119#endif /* _VIDEO_CONSOLE_H_ */ 120