![]() |
|
|||
File indexing completed on 2025-05-11 08:24:13
0001 /* SPDX-License-Identifier: BSD-2-Clause */ 0002 0003 /** 0004 * @file 0005 * 0006 * @brief Frame Buffer Device Driver for all Boards 0007 * 0008 * This file describes the Frame Buffer Device Driver for all boards. 0009 */ 0010 0011 /* 0012 * COPYRIGHT (c) 1989-2011. 0013 * On-Line Applications Research Corporation (OAR). 0014 * 0015 * Redistribution and use in source and binary forms, with or without 0016 * modification, are permitted provided that the following conditions 0017 * are met: 0018 * 1. Redistributions of source code must retain the above copyright 0019 * notice, this list of conditions and the following disclaimer. 0020 * 2. Redistributions in binary form must reproduce the above copyright 0021 * notice, this list of conditions and the following disclaimer in the 0022 * documentation and/or other materials provided with the distribution. 0023 * 0024 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 0025 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 0026 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 0027 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE 0028 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 0029 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 0030 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 0031 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 0032 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 0033 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 0034 * POSSIBILITY OF SUCH DAMAGE. 0035 */ 0036 0037 #ifndef __RTEMS_FRAMEBUFFER_h__ 0038 #define __RTEMS_FRAMEBUFFER_h__ 0039 0040 #include <rtems/io.h> 0041 0042 #ifdef __cplusplus 0043 extern "C" { 0044 #endif 0045 0046 /** 0047 * This macro defines the standard name for the frame buffer device 0048 * that is available to applications. 0049 */ 0050 #define FRAMEBUFFER_DEVICE_NAME "/dev/fb" 0051 0052 /** 0053 * @brief Standard device file path of first frame buffer device. 0054 * 0055 * This device is the default frame buffer device for the Microwindows Screen 0056 * Driver. 0057 */ 0058 #define FRAMEBUFFER_DEVICE_0_NAME "/dev/fb0" 0059 0060 /** 0061 * This macro defines the standard device driver table entry for 0062 * a frame buffer device driver. 0063 */ 0064 #define FRAME_BUFFER_DRIVER_TABLE_ENTRY \ 0065 { frame_buffer_initialize, frame_buffer_open, frame_buffer_close, \ 0066 frame_buffer_read, frame_buffer_write, frame_buffer_control } 0067 0068 /** 0069 * @brief Frame Buffer Initialization Entry Point 0070 * 0071 * This method initializes the frame buffer device driver. 0072 * 0073 * @param[in] major is the device driver major number 0074 * @param[in] minor is the device driver minor number 0075 * @param[in] arg is the parameters to this call 0076 * 0077 * @return This method returns RTEMS_SUCCESSFUL when 0078 * the device driver is successfully initialized. 0079 */ 0080 rtems_device_driver frame_buffer_initialize( 0081 rtems_device_major_number major, 0082 rtems_device_minor_number minor, 0083 void *arg 0084 ); 0085 0086 /** 0087 * @brief Frame Buffer Open Entry Point 0088 * 0089 * This method opens a specific device supported by the 0090 * frame buffer device driver. 0091 * 0092 * @param[in] major is the device driver major number 0093 * @param[in] minor is the device driver minor number 0094 * @param[in] arg is the parameters to this call 0095 * 0096 * @return This method returns RTEMS_SUCCESSFUL when 0097 * the device driver is successfully opened. 0098 */ 0099 rtems_device_driver frame_buffer_open( 0100 rtems_device_major_number major, 0101 rtems_device_minor_number minor, 0102 void *arg 0103 ); 0104 0105 /** 0106 * @brief Frame Buffer Close Entry Point 0107 * 0108 * This method closes a specific device supported by the 0109 * frame buffer device driver. 0110 * 0111 * @param[in] major is the device driver major number 0112 * @param[in] minor is the device driver minor number 0113 * @param[in] arg is the parameters to this call 0114 * 0115 * @return This method returns RTEMS_SUCCESSFUL when 0116 * the device is successfully closed. 0117 */ 0118 rtems_device_driver frame_buffer_close( 0119 rtems_device_major_number major, 0120 rtems_device_minor_number minor, 0121 void *arg 0122 ); 0123 0124 /** 0125 * @brief Frame Buffer Read Entry Point 0126 * 0127 * This method reads from a specific device supported by the 0128 * frame buffer device driver. 0129 * 0130 * @param[in] major is the device driver major number 0131 * @param[in] minor is the device driver minor number 0132 * @param[in] arg is the parameters to this call 0133 * 0134 * @return This method returns RTEMS_SUCCESSFUL when 0135 * the device is successfully read from. 0136 */ 0137 rtems_device_driver frame_buffer_read( 0138 rtems_device_major_number major, 0139 rtems_device_minor_number minor, 0140 void *arg 0141 ); 0142 0143 /** 0144 * @brief Frame Buffer Write Entry Point 0145 * 0146 * This method writes to a specific device supported by the 0147 * frame buffer device driver. 0148 * 0149 * @param[in] major is the device driver major number 0150 * @param[in] minor is the device driver minor number 0151 * @param[in] arg is the parameters to this call 0152 * 0153 * @return This method returns RTEMS_SUCCESSFUL when 0154 * the device is successfully written. 0155 */ 0156 rtems_device_driver frame_buffer_write( 0157 rtems_device_major_number major, 0158 rtems_device_minor_number minor, 0159 void *arg 0160 ); 0161 0162 /** 0163 * @brief Frame Buffer IO Control Entry Point 0164 * 0165 * This method performs an IO Control operation on a 0166 * specific device supported by the frame buffer device driver. 0167 * 0168 * @param[in] major is the device driver major number 0169 * @param[in] minor is the device driver minor number 0170 * @param[in] arg is the parameters to this call 0171 * 0172 * @return This method returns RTEMS_SUCCESSFUL when 0173 * the device driver IO control operation is 0174 * successfully performed. 0175 */ 0176 rtems_device_driver frame_buffer_control( 0177 rtems_device_major_number major, 0178 rtems_device_minor_number minor, 0179 void *arg 0180 ); 0181 0182 #ifdef __cplusplus 0183 } 0184 #endif 0185 0186 #endif 0187 /* end of include file */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |