vbe.h revision cabde247f900dcf6e58d009bbdd15099c028c6fc
/*
* XFree86 vbe module
* Copyright 2000 Egbert Eich
*
* have been moved here.
* Copyright (c) 2000 by Conectiva S.A. (http://www.conectiva.com)
* Authors: Paulo César Pereira de Andrade <pcpa@conectiva.com.br>
*/
#ifndef _VBE_H
#define _VBE_H
#include "xf86int10.h"
#include "xf86DDC.h"
typedef enum {
}
typedef struct {
int version;
int real_mode_base;
int num_pages;
} vbeInfoRec, *vbeInfoPtr;
#define VBE_VERSION_MINOR(x) (CARD8)(x)
#pragma pack(1)
typedef struct vbeControllerInfoBlock {
#pragma pack() /* All GCC versions recognise this syntax */
#else
#pragma pack(0)
#endif
#define __attribute__(a)
#endif
typedef struct _VbeInfoBlock VbeInfoBlock;
typedef struct _VbeModeInfoBlock VbeModeInfoBlock;
typedef struct _VbeCRTCInfoBlock VbeCRTCInfoBlock;
/*
* INT 0
*/
struct _VbeInfoBlock {
/* VESA 1.2 fields */
/* if not VESA 2, 236 scratch bytes follow (256 bytes total size) */
/* VESA 2 fields */
} __attribute__((packed));
/* Return Super VGA Information */
/*
* INT 1
*/
struct _VbeModeInfoBlock {
/* Mandatory information for VBE 1.2 and above */
/* Direct color fields (required for direct/6 and YUV/7 memory models) */
/* Mandatory information for VBE 2.0 and above */
/* Mandatory information for VBE 3.0 and above */
} __attribute__((packed));
/* Return VBE Mode Information */
/*
* INT2
*/
#define CRTC_DBLSCAN (1<<0)
struct _VbeCRTCInfoBlock {
} __attribute__((packed));
/* VbeCRTCInfoBlock is in the VESA 3.0 specs */
/*
* INT 3
*/
/*
* INT 4
*/
/* function values are (values stored in VESAPtr):
* 0 := query & allocate amount of memory to save state
* 1 := save state
* 2 := restore state
*
* function 0 called automatically if function 1 called without
* a previous call to function 0.
*/
typedef enum {
/*
* INT 5
*/
/*
* INT 6
*/
typedef enum {
/*
* INT 7
*/
/* 16 bit code */
/*
* INT 8
*/
/* if bits is 0, then it is a GET */
/*
* INT 9
*/
/*
* If getting a palette, the data argument is not used. It will return
* the data.
* If setting a palette, it will return the pointer received on success,
* NULL on failure.
*/
/*
* INT A
*/
typedef struct _VBEpmi {
int seg_tbl;
int tbl_off;
int tbl_len;
} VBEpmi;
/* high level helper functions */
typedef struct _vbeModeInfoRec {
int width;
int height;
int bpp;
int n;
struct _vbeModeInfoRec *next;
typedef struct {
int statePage;
int stateSize;
int stateMode;
extern _X_EXPORT void
struct vbePanelID {
short hsize;
short vsize;
short fptype;
char redbpp;
char greenbpp;
char bluebpp;
char reservedbpp;
char reserved[14];
};
#endif