/*
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
/* sun_edid - EDID data parsing */
#ifndef _SUN_EDID_H
#define _SUN_EDID_H
//#include "gfx_res_util.h" /* SunVideoTiming */
#include "resolutions.h" /* Video mode summary table: SunVideoTable[] */
#include "fbc_mode_list.h" /* List of Modes from Monitor section of cfg */
/*
* EDID Version & Revision comparison primitives
*/
int sun_edid_check_base(
void sun_edid_vendor(
char *name, /* Manufacturer ID (3 chars & Nul) */
void sun_edid_mdate(
int *week, /* Week of manufacture (or flags) */
int *year); /* Year of manufacture or model year */
/* Video Input Definition */
typedef struct {
/* Analog Video Signal Interface */
struct {
} alg;
/* Digital Video Signal Interface */
struct {
} dig;
void sun_edid_video_input(
void sun_edid_screen_size(
int *horizontal, /* Horizontal Screen Size (cm), etc. */
int *vertical, /* Vertical Screen Size (cm), etc. */
float *aspect); /* Aspect ratio, else zero */
void sun_edid_gamma(
float *gamma); /* Returned gamma value, else zero */
/* EDID Feature Support info */
typedef struct {
void sun_edid_feature_support(
/* EDID Color Characteristics */
typedef struct {
void sun_edid_color_chars(
int sun_edid_bit_set(
int bit_off); /* Bit offset into the bit field */
int sun_edid_etiming(
int addr, /* Byte address within EDID block */
int bit_off, /* Established Timings bit offset */
int *width, /* Returned horiz addressable pixels */
int *height, /* Returned vert addressable lines */
int *frequency); /* Returned vertical frequency */
int sun_edid_stiming(
int addr, /* Byte address within EDID block */
int *width, /* Returned horiz addressable pixels */
int *height, /* Returned vert addressable lines */
int *frequency); /* Returned vertical frequency */
/* Detailed Timing information */
typedef struct {
int sun_edid_dtiming(
int addr, /* Byte address within EDID block */
char *string_buf); /* Returned Display Descriptor str */
char *string_buf); /* Returned Display Product Serial # */
char *string_buf); /* Returned Alphanumeric Data String */
/* Display Range Limits */
typedef struct {
/* Generalized Timing Formula (GTF) Secondary Curve (deprecated) */
/* CVT Support */
void sun_edid_range_limits(
char *string_buf); /* Returned Display Product Name */
/*
* End of EDID structure parsing functions
* ---------------------------------------------------------------------
* Start of EDID video mode name list construction functions
*/
typedef struct {
#endif /* _SUN_EDID_H */
/* End of sun_edid.h */