003 File Manager
Current Path:
/usr/src/sys/sys
usr
/
src
/
sys
/
sys
/
📁
..
📄
_atomic64e.h
(2.91 KB)
📄
_atomic_subword.h
(7.27 KB)
📄
_bitset.h
(2.3 KB)
📄
_blockcount.h
(1.97 KB)
📄
_bus_dma.h
(2.15 KB)
📄
_callout.h
(2.68 KB)
📄
_cpuset.h
(1.76 KB)
📄
_cscan_atomic.h
(18.1 KB)
📄
_cscan_bus.h
(10.22 KB)
📄
_domainset.h
(2.04 KB)
📄
_eventhandler.h
(2.81 KB)
📄
_ffcounter.h
(1.84 KB)
📄
_iovec.h
(1.93 KB)
📄
_lock.h
(2.98 KB)
📄
_lockmgr.h
(1.82 KB)
📄
_mutex.h
(2.63 KB)
📄
_null.h
(1.7 KB)
📄
_pctrie.h
(1.65 KB)
📄
_pthreadtypes.h
(3.51 KB)
📄
_rangeset.h
(1.86 KB)
📄
_rmlock.h
(2.59 KB)
📄
_rwlock.h
(2.39 KB)
📄
_semaphore.h
(2.05 KB)
📄
_seqc.h
(160 B)
📄
_sigset.h
(2.46 KB)
📄
_smr.h
(1.94 KB)
📄
_sockaddr_storage.h
(2.37 KB)
📄
_stack.h
(1.53 KB)
📄
_stdarg.h
(2.15 KB)
📄
_stdint.h
(2.6 KB)
📄
_sx.h
(1.73 KB)
📄
_task.h
(2.62 KB)
📄
_termios.h
(7.64 KB)
📄
_timespec.h
(2 KB)
📄
_timeval.h
(1.88 KB)
📄
_types.h
(5.66 KB)
📄
_ucontext.h
(2.08 KB)
📄
_uio.h
(1.99 KB)
📄
_umtx.h
(2.5 KB)
📄
_unrhdr.h
(1.92 KB)
📄
_winsize.h
(2.14 KB)
📄
aac_ioctl.h
(7.56 KB)
📄
abi_compat.h
(2.42 KB)
📄
acct.h
(4.95 KB)
📄
acl.h
(14.62 KB)
📄
agpio.h
(5.78 KB)
📄
aio.h
(7.69 KB)
📄
alq.h
(4.5 KB)
📄
apm.h
(88 B)
📄
arb.h
(28.88 KB)
📄
assym.h
(2.7 KB)
📄
ata.h
(45.35 KB)
📄
atomic_common.h
(3.26 KB)
📄
auxv.h
(1.58 KB)
📄
backlight.h
(2.02 KB)
📄
bio.h
(6.77 KB)
📄
bitset.h
(8.53 KB)
📄
bitstring.h
(12.16 KB)
📄
blist.h
(3.74 KB)
📄
blockcount.h
(3.03 KB)
📄
boot.h
(1.8 KB)
📄
buf.h
(20.73 KB)
📄
buf_ring.h
(10.6 KB)
📄
bufobj.h
(5.03 KB)
📄
bus.h
(38.2 KB)
📄
bus_dma.h
(13.68 KB)
📄
bus_dma_internal.h
(2.42 KB)
📄
busdma_bufalloc.h
(4.7 KB)
📄
callout.h
(6.62 KB)
📄
caprights.h
(4.17 KB)
📄
capsicum.h
(17.54 KB)
📄
cdefs.h
(27.79 KB)
📄
cdio.h
(7.09 KB)
📄
cdrio.h
(4.88 KB)
📄
cfictl.h
(2.21 KB)
📄
chio.h
(9.53 KB)
📄
ck.h
(251 B)
📄
clock.h
(8.07 KB)
📄
cnv.h
(4.25 KB)
📄
compressor.h
(2.05 KB)
📄
condvar.h
(3.42 KB)
📄
conf.h
(12.4 KB)
📄
cons.h
(5.22 KB)
📄
consio.h
(14.01 KB)
📄
copyright.h
(1.97 KB)
📄
counter.h
(3.02 KB)
📄
coverage.h
(2.36 KB)
📄
cpu.h
(7.02 KB)
📄
cpuctl.h
(2.29 KB)
📄
cpuset.h
(5.93 KB)
📄
csan.h
(1.71 KB)
📄
ctype.h
(2.81 KB)
📄
devctl.h
(1.76 KB)
📄
devicestat.h
(6.97 KB)
📄
devmap.h
(4.04 KB)
📄
dirent.h
(4.78 KB)
📁
disk
📄
disk.h
(6.31 KB)
📄
disk_zone.h
(6.52 KB)
📄
disklabel.h
(4.39 KB)
📄
diskmbr.h
(1.84 KB)
📄
dkstat.h
(2.05 KB)
📄
dnv.h
(3.39 KB)
📄
domain.h
(3.64 KB)
📄
domainset.h
(5.05 KB)
📄
dtrace_bsd.h
(6.93 KB)
📄
dvdio.h
(3.43 KB)
📄
efi.h
(6.21 KB)
📄
efiio.h
(2.06 KB)
📄
elf.h
(1.6 KB)
📄
elf32.h
(7.46 KB)
📄
elf64.h
(7.79 KB)
📄
elf_common.h
(59.51 KB)
📄
elf_generic.h
(2.83 KB)
📄
endian.h
(4.98 KB)
📄
epoch.h
(4.01 KB)
📄
errno.h
(8.29 KB)
📄
eui64.h
(2.05 KB)
📄
event.h
(12.61 KB)
📄
eventfd.h
(1.86 KB)
📄
eventhandler.h
(11.8 KB)
📄
eventvar.h
(2.46 KB)
📄
exec.h
(4.56 KB)
📄
extattr.h
(4.08 KB)
📄
fail.h
(13.1 KB)
📄
fbio.h
(19.95 KB)
📄
fcntl.h
(12.02 KB)
📄
fdcio.h
(7.6 KB)
📄
file.h
(14.06 KB)
📄
filedesc.h
(12.13 KB)
📄
filio.h
(3.67 KB)
📄
firmware.h
(3.11 KB)
📄
fnv_hash.h
(1.41 KB)
📄
font.h
(3.85 KB)
📄
gmon.h
(7.16 KB)
📄
gpio.h
(9.85 KB)
📄
gpt.h
(1.51 KB)
📄
gsb_crc32.h
(998 B)
📄
gtaskqueue.h
(4.21 KB)
📄
hash.h
(3.55 KB)
📄
hhook.h
(5.86 KB)
📄
iconv.h
(8.22 KB)
📄
imgact.h
(5.22 KB)
📄
imgact_aout.h
(5.65 KB)
📄
imgact_binmisc.h
(6.95 KB)
📄
imgact_elf.h
(4.13 KB)
📄
interrupt.h
(8.07 KB)
📄
intr.h
(5.36 KB)
📄
ioccom.h
(3.82 KB)
📄
ioctl.h
(2.24 KB)
📄
ioctl_compat.h
(6.42 KB)
📄
iov.h
(11.67 KB)
📄
iov_schema.h
(2.33 KB)
📄
ipc.h
(4.93 KB)
📄
ipmi.h
(5.4 KB)
📄
jail.h
(14.98 KB)
📄
joystick.h
(2.12 KB)
📄
kbio.h
(7.81 KB)
📄
kcov.h
(2.36 KB)
📄
kdb.h
(5.04 KB)
📄
kenv.h
(2.02 KB)
📄
kern_prefetch.h
(1.67 KB)
📄
kernel.h
(16.18 KB)
📄
kerneldump.h
(4.85 KB)
📄
khelp.h
(3.08 KB)
📄
kobj.h
(6.92 KB)
📄
kpilite.h
(2.01 KB)
📄
ksem.h
(2.34 KB)
📄
kthread.h
(3.04 KB)
📄
ktls.h
(6.52 KB)
📄
ktr.h
(10.92 KB)
📄
ktr_class.h
(3.8 KB)
📄
ktrace.h
(8.13 KB)
📄
libkern.h
(7.74 KB)
📄
limits.h
(3.69 KB)
📄
link_aout.h
(10.2 KB)
📄
link_elf.h
(4.06 KB)
📄
linker.h
(11.88 KB)
📄
linker_set.h
(3.85 KB)
📄
lock.h
(12.24 KB)
📄
lock_profile.h
(2.6 KB)
📄
lockf.h
(5.55 KB)
📄
lockmgr.h
(7 KB)
📄
lockstat.h
(5.13 KB)
📄
loginclass.h
(2.08 KB)
📄
mac.h
(3.96 KB)
📄
malloc.h
(11.76 KB)
📄
mbuf.h
(50.74 KB)
📄
mchain.h
(4.21 KB)
📄
md4.h
(1.63 KB)
📄
md5.h
(1.81 KB)
📄
mdioctl.h
(3.73 KB)
📄
memdesc.h
(3.79 KB)
📄
memrange.h
(2.36 KB)
📄
mman.h
(10.41 KB)
📄
module.h
(8.77 KB)
📄
module_khelp.h
(3.45 KB)
📄
mount.h
(42.05 KB)
📄
mouse.h
(12.69 KB)
📄
mpt_ioctl.h
(4.27 KB)
📄
mqueue.h
(1.86 KB)
📄
msg.h
(4.78 KB)
📄
msgbuf.h
(3.49 KB)
📄
mtio.h
(11.94 KB)
📄
mutex.h
(19.18 KB)
📄
namei.h
(11.27 KB)
📄
nlist_aout.h
(4.23 KB)
📄
nv.h
(10.62 KB)
📄
osd.h
(4.02 KB)
📄
param.h
(12.23 KB)
📄
pciio.h
(5.67 KB)
📄
pcpu.h
(9.79 KB)
📄
pctrie.h
(5.19 KB)
📄
physmem.h
(2.92 KB)
📄
pidctrl.h
(5.44 KB)
📄
pipe.h
(4.63 KB)
📄
pmc.h
(37.29 KB)
📄
pmckern.h
(8.01 KB)
📄
pmclog.h
(9.23 KB)
📄
poll.h
(4.03 KB)
📄
posix4.h
(3.71 KB)
📄
power.h
(2.34 KB)
📄
priority.h
(4.39 KB)
📄
priv.h
(19.73 KB)
📄
prng.h
(354 B)
📄
proc.h
(50.73 KB)
📄
procctl.h
(4.89 KB)
📄
procdesc.h
(4.46 KB)
📄
procfs.h
(4.2 KB)
📄
protosw.h
(14.56 KB)
📄
ptio.h
(1.57 KB)
📄
ptrace.h
(8.61 KB)
📄
qmath.h
(22.07 KB)
📄
queue.h
(28.61 KB)
📄
racct.h
(7.48 KB)
📄
random.h
(5.41 KB)
📄
rangelock.h
(3.86 KB)
📄
rangeset.h
(2.96 KB)
📄
rctl.h
(5.91 KB)
📄
reboot.h
(3.41 KB)
📄
refcount.h
(5.72 KB)
📄
regression.h
(1.62 KB)
📄
resource.h
(5.32 KB)
📄
resourcevar.h
(6.33 KB)
📄
rman.h
(6.41 KB)
📄
rmlock.h
(5.56 KB)
📄
rtprio.h
(3.08 KB)
📄
runq.h
(2.54 KB)
📄
rwlock.h
(10.61 KB)
📄
sbuf.h
(4.68 KB)
📄
sched.h
(9.06 KB)
📄
sdt.h
(17.89 KB)
📄
select.h
(3.5 KB)
📄
selinfo.h
(2.39 KB)
📄
sem.h
(4.31 KB)
📄
sema.h
(2.61 KB)
📄
seqc.h
(3.26 KB)
📄
serial.h
(3.49 KB)
📄
sf_buf.h
(5.87 KB)
📄
sglist.h
(3.89 KB)
📄
shm.h
(5.69 KB)
📄
sigio.h
(2.83 KB)
📄
signal.h
(15.83 KB)
📄
signalvar.h
(12.95 KB)
📄
sleepqueue.h
(5.61 KB)
📄
slicer.h
(2.19 KB)
📄
smp.h
(8.88 KB)
📄
smr.h
(7.64 KB)
📄
smr_types.h
(4.87 KB)
📄
snoop.h
(1014 B)
📄
sockbuf.h
(9.9 KB)
📄
socket.h
(23.43 KB)
📄
socketvar.h
(18.75 KB)
📄
sockio.h
(7.97 KB)
📄
sockopt.h
(2.98 KB)
📄
soundcard.h
(69.38 KB)
📄
specialfd.h
(1.56 KB)
📄
spigenio.h
(2.28 KB)
📄
stack.h
(2.65 KB)
📄
stat.h
(13.44 KB)
📄
stats.h
(34.73 KB)
📄
statvfs.h
(3.08 KB)
📄
stdatomic.h
(13.94 KB)
📄
stddef.h
(1.7 KB)
📄
stdint.h
(2.63 KB)
📄
sx.h
(11.04 KB)
📄
syscall.h
(13.99 KB)
📄
syscall.mk
(6.56 KB)
📄
syscallsubr.h
(16.94 KB)
📄
sysctl.h
(47.96 KB)
📄
sysent.h
(10.82 KB)
📄
syslimits.h
(3.14 KB)
📄
syslog.h
(7.25 KB)
📄
sysproto.h
(153.38 KB)
📄
systm.h
(21.97 KB)
📄
taskqueue.h
(7.65 KB)
📄
terminal.h
(8.25 KB)
📄
termios.h
(151 B)
📄
thr.h
(2.87 KB)
📄
tiio.h
(12.62 KB)
📄
tim_filter.h
(4.61 KB)
📄
time.h
(16.87 KB)
📄
timeb.h
(2.59 KB)
📄
timeet.h
(3.65 KB)
📄
timeffc.h
(11.94 KB)
📄
timepps.h
(6.48 KB)
📄
timers.h
(3.56 KB)
📄
times.h
(2.46 KB)
📄
timespec.h
(2.4 KB)
📄
timetc.h
(3.16 KB)
📄
timex.h
(6.61 KB)
📄
tree.h
(27.93 KB)
📄
tslog.h
(2.3 KB)
📄
tty.h
(8.98 KB)
📄
ttycom.h
(6.48 KB)
📄
ttydefaults.h
(3.92 KB)
📄
ttydevsw.h
(5.28 KB)
📄
ttydisc.h
(2.93 KB)
📄
ttyhook.h
(3.98 KB)
📄
ttyqueue.h
(5.26 KB)
📄
turnstile.h
(4.83 KB)
📄
types.h
(11.64 KB)
📄
ucontext.h
(2.91 KB)
📄
ucred.h
(5.4 KB)
📄
uio.h
(4.15 KB)
📄
umtx.h
(5.94 KB)
📄
un.h
(2.96 KB)
📄
unistd.h
(7.34 KB)
📄
unpcb.h
(6.77 KB)
📄
user.h
(21.58 KB)
📄
utsname.h
(2.47 KB)
📄
uuid.h
(3.17 KB)
📄
vdso.h
(4.26 KB)
📄
vmem.h
(4.91 KB)
📄
vmmeter.h
(7.72 KB)
📄
vnode.h
(40.87 KB)
📄
vtoc.h
(89 B)
📄
wait.h
(6.11 KB)
📄
watchdog.h
(4.22 KB)
Editing: fbio.h
/*- * SPDX-License-Identifier: BSD-3-Clause * * Copyright (c) 1992, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software developed by the Computer Systems * Engineering group at Lawrence Berkeley Laboratory under DARPA * contract BG 91-66 and contributed to Berkeley. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * 3. Neither the name of the University nor the names of its contributors * may be used to endorse or promote products derived from this software * without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * * @(#)fbio.h 8.2 (Berkeley) 10/30/93 * * $FreeBSD$ */ #ifndef _SYS_FBIO_H_ #define _SYS_FBIO_H_ #ifndef _KERNEL #include <sys/types.h> #else #include <sys/param.h> #include <sys/systm.h> #include <sys/eventhandler.h> #endif #include <sys/ioccom.h> /* * Frame buffer ioctls (from Sprite, trimmed to essentials for X11). */ /* * Frame buffer type codes. */ #define FBTYPE_SUN1BW 0 /* multibus mono */ #define FBTYPE_SUN1COLOR 1 /* multibus color */ #define FBTYPE_SUN2BW 2 /* memory mono */ #define FBTYPE_SUN2COLOR 3 /* color w/rasterop chips */ #define FBTYPE_SUN2GP 4 /* GP1/GP2 */ #define FBTYPE_SUN5COLOR 5 /* RoadRunner accelerator */ #define FBTYPE_SUN3COLOR 6 /* memory color */ #define FBTYPE_MEMCOLOR 7 /* memory 24-bit */ #define FBTYPE_SUN4COLOR 8 /* memory color w/overlay */ #define FBTYPE_NOTSUN1 9 /* reserved for customer */ #define FBTYPE_NOTSUN2 10 /* reserved for customer */ #define FBTYPE_PCIMISC 11 /* (generic) PCI misc. disp. */ #define FBTYPE_SUNFAST_COLOR 12 /* accelerated 8bit */ #define FBTYPE_SUNROP_COLOR 13 /* MEMCOLOR with rop h/w */ #define FBTYPE_SUNFB_VIDEO 14 /* Simple video mixing */ #define FBTYPE_RESERVED5 15 /* reserved, do not use */ #define FBTYPE_RESERVED4 16 /* reserved, do not use */ #define FBTYPE_SUNGP3 17 #define FBTYPE_SUNGT 18 #define FBTYPE_SUNLEO 19 /* zx Leo */ #define FBTYPE_MDA 20 #define FBTYPE_HERCULES 21 #define FBTYPE_CGA 22 #define FBTYPE_EGA 23 #define FBTYPE_VGA 24 #define FBTYPE_TGA 26 #define FBTYPE_TGA2 27 #define FBTYPE_MDICOLOR 28 /* cg14 */ #define FBTYPE_TCXCOLOR 29 /* SUNW,tcx */ #define FBTYPE_CREATOR 30 #define FBTYPE_LASTPLUSONE 31 /* max number of fbs (change as add) */ /* * Frame buffer descriptor as returned by FBIOGTYPE. */ struct fbtype { int fb_type; /* as defined above */ int fb_height; /* in pixels */ int fb_width; /* in pixels */ int fb_depth; /* bits per pixel */ int fb_cmsize; /* size of color map (entries) */ int fb_size; /* total size in bytes */ }; #define FBIOGTYPE _IOR('F', 0, struct fbtype) #define FBTYPE_GET_STRIDE(_fb) ((_fb)->fb_size / (_fb)->fb_height) #define FBTYPE_GET_BPP(_fb) ((_fb)->fb_bpp) #define FBTYPE_GET_BYTESPP(_fb) ((_fb)->fb_bpp / 8) #ifdef _KERNEL struct fb_info; typedef int fb_enter_t(void *priv); typedef int fb_leave_t(void *priv); typedef int fb_setblankmode_t(void *priv, int mode); struct fb_info { /* Raw copy of fbtype. Do not change. */ int fb_type; /* as defined above */ int fb_height; /* in pixels */ int fb_width; /* in pixels */ int fb_depth; /* bits to define color */ int fb_cmsize; /* size of color map (entries) */ int fb_size; /* total size in bytes */ struct cdev *fb_cdev; device_t fb_fbd_dev; /* "fbd" device. */ device_t fb_video_dev; /* Video adapter. */ fb_enter_t *enter; fb_leave_t *leave; fb_setblankmode_t *setblankmode; uintptr_t fb_pbase; /* For FB mmap. */ uintptr_t fb_vbase; /* if NULL, use fb_write/fb_read. */ void *fb_priv; /* First argument for read/write. */ const char *fb_name; uint32_t fb_flags; #define FB_FLAG_NOMMAP 1 /* mmap unsupported. */ #define FB_FLAG_NOWRITE 2 /* disable writes for the time being */ #define FB_FLAG_MEMATTR 4 /* override memattr for mmap */ vm_memattr_t fb_memattr; int fb_stride; int fb_bpp; /* bits per pixel */ uint32_t fb_cmap[16]; }; int fbd_list(void); int fbd_register(struct fb_info *); int fbd_unregister(struct fb_info *); static inline int register_framebuffer(struct fb_info *info) { EVENTHANDLER_INVOKE(register_framebuffer, info); return (0); } static inline int unregister_framebuffer(struct fb_info *info) { EVENTHANDLER_INVOKE(unregister_framebuffer, info); return (0); } #endif #ifdef notdef /* * General purpose structure for passing info in and out of frame buffers * (used for gp1) -- unsupported. */ struct fbinfo { int fb_physaddr; /* physical frame buffer address */ int fb_hwwidth; /* fb board width */ int fb_hwheight; /* fb board height */ int fb_addrdelta; /* phys addr diff between boards */ u_char *fb_ropaddr; /* fb virtual addr */ int fb_unit; /* minor devnum of fb */ }; #define FBIOGINFO _IOR('F', 2, struct fbinfo) #endif /* * Color map I/O. */ struct fbcmap { int index; /* first element (0 origin) */ int count; /* number of elements */ u_char *red; /* red color map elements */ u_char *green; /* green color map elements */ u_char *blue; /* blue color map elements */ }; #define FBIOPUTCMAP _IOW('F', 3, struct fbcmap) #define FBIOGETCMAP _IOW('F', 4, struct fbcmap) /* * Set/get attributes. */ #define FB_ATTR_NDEVSPECIFIC 8 /* no. of device specific values */ #define FB_ATTR_NEMUTYPES 4 /* no. of emulation types */ struct fbsattr { int flags; /* flags; see below */ int emu_type; /* emulation type (-1 if unused) */ int dev_specific[FB_ATTR_NDEVSPECIFIC]; /* catchall */ }; #define FB_ATTR_AUTOINIT 1 /* emulation auto init flag */ #define FB_ATTR_DEVSPECIFIC 2 /* dev. specific stuff valid flag */ struct fbgattr { int real_type; /* real device type */ int owner; /* PID of owner, 0 if myself */ struct fbtype fbtype; /* fbtype info for real device */ struct fbsattr sattr; /* see above */ int emu_types[FB_ATTR_NEMUTYPES]; /* possible emulations */ /* (-1 if unused) */ }; #define FBIOSATTR _IOW('F', 5, struct fbsattr) #define FBIOGATTR _IOR('F', 6, struct fbgattr) /* * Video control. */ #define FBVIDEO_OFF 0 #define FBVIDEO_ON 1 #define FBIOSVIDEO _IOW('F', 7, int) #define FBIOGVIDEO _IOR('F', 8, int) /* vertical retrace */ #define FBIOVERTICAL _IO('F', 9) /* * Hardware cursor control (for, e.g., CG6). A rather complex and icky * interface that smells like VMS, but there it is.... */ struct fbcurpos { short x; short y; }; struct fbcursor { short set; /* flags; see below */ short enable; /* nonzero => cursor on, 0 => cursor off */ struct fbcurpos pos; /* position on display */ struct fbcurpos hot; /* hot-spot within cursor */ struct fbcmap cmap; /* cursor color map */ struct fbcurpos size; /* number of valid bits in image & mask */ caddr_t image; /* cursor image bits */ caddr_t mask; /* cursor mask bits */ }; #define FB_CUR_SETCUR 0x01 /* set on/off (i.e., obey fbcursor.enable) */ #define FB_CUR_SETPOS 0x02 /* set position */ #define FB_CUR_SETHOT 0x04 /* set hot-spot */ #define FB_CUR_SETCMAP 0x08 /* set cursor color map */ #define FB_CUR_SETSHAPE 0x10 /* set size & bits */ #define FB_CUR_SETALL (FB_CUR_SETCUR | FB_CUR_SETPOS | FB_CUR_SETHOT | \ FB_CUR_SETCMAP | FB_CUR_SETSHAPE) /* controls for cursor attributes & shape (including position) */ #define FBIOSCURSOR _IOW('F', 24, struct fbcursor) #define FBIOGCURSOR _IOWR('F', 25, struct fbcursor) /* controls for cursor position only */ #define FBIOSCURPOS _IOW('F', 26, struct fbcurpos) #define FBIOGCURPOS _IOW('F', 27, struct fbcurpos) /* get maximum cursor size */ #define FBIOGCURMAX _IOR('F', 28, struct fbcurpos) /* * Video board information */ struct brd_info { u_short accessible_width; /* accessible bytes in scanline */ u_short accessible_height; /* number of accessible scanlines */ u_short line_bytes; /* number of bytes/scanline */ u_short hdb_capable; /* can this thing hardware db? */ u_short vmsize; /* video memory size */ u_char boardrev; /* board revision # */ u_char pad0; u_long pad1; }; #define FBIOGXINFO _IOR('F', 39, struct brd_info) /* * Monitor information */ struct mon_info { u_long mon_type; /* bit array */ #define MON_TYPE_STEREO 0x8 /* stereo display */ #define MON_TYPE_0_OFFSET 0x4 /* black level 0 ire instead of 7.5 */ #define MON_TYPE_OVERSCAN 0x2 /* overscan */ #define MON_TYPE_GRAY 0x1 /* greyscale monitor */ u_long pixfreq; /* pixel frequency in Hz */ u_long hfreq; /* horizontal freq in Hz */ u_long vfreq; /* vertical freq in Hz */ u_long vsync; /* vertical sync in scanlines */ u_long hsync; /* horizontal sync in pixels */ /* these are in pixel units */ u_short hfporch; /* horizontal front porch */ u_short hbporch; /* horizontal back porch */ u_short vfporch; /* vertical front porch */ u_short vbporch; /* vertical back porch */ }; #define FBIOMONINFO _IOR('F', 40, struct mon_info) /* * Color map I/O. */ struct fbcmap_i { unsigned int flags; #define FB_CMAP_BLOCK (1 << 0) /* wait for vertical refresh */ #define FB_CMAP_KERNEL (1 << 1) /* called within kernel */ int id; /* color map id */ int index; /* first element (0 origin) */ int count; /* number of elements */ u_char *red; /* red color map elements */ u_char *green; /* green color map elements */ u_char *blue; /* blue color map elements */ }; #define FBIOPUTCMAPI _IOW('F', 41, struct fbcmap_i) #define FBIOGETCMAPI _IOW('F', 42, struct fbcmap_i) /* The new style frame buffer ioctls. */ /* video mode information block */ struct video_info { int vi_mode; /* mode number, see below */ int vi_flags; #define V_INFO_COLOR (1 << 0) #define V_INFO_GRAPHICS (1 << 1) #define V_INFO_LINEAR (1 << 2) #define V_INFO_VESA (1 << 3) #define V_INFO_NONVGA (1 << 4) #define V_INFO_CWIDTH9 (1 << 5) int vi_width; int vi_height; int vi_cwidth; int vi_cheight; int vi_depth; int vi_planes; vm_offset_t vi_window; /* physical address */ size_t vi_window_size; size_t vi_window_gran; vm_offset_t vi_buffer; /* physical address */ size_t vi_buffer_size; int vi_mem_model; #define V_INFO_MM_OTHER (-1) #define V_INFO_MM_TEXT 0 #define V_INFO_MM_PLANAR 1 #define V_INFO_MM_PACKED 2 #define V_INFO_MM_DIRECT 3 #define V_INFO_MM_CGA 100 #define V_INFO_MM_HGC 101 #define V_INFO_MM_VGAX 102 /* for MM_PACKED and MM_DIRECT only */ int vi_pixel_size; /* in bytes */ /* for MM_DIRECT only */ int vi_pixel_fields[4]; /* RGB and reserved fields */ int vi_pixel_fsizes[4]; /* reserved */ u_char vi_reserved[64]; vm_offset_t vi_registers; /* physical address */ vm_offset_t vi_registers_size; }; typedef struct video_info video_info_t; /* adapter infromation block */ struct video_adapter { int va_index; int va_type; #define KD_OTHER 0 /* unknown */ #define KD_MONO 1 /* monochrome adapter */ #define KD_HERCULES 2 /* hercules adapter */ #define KD_CGA 3 /* color graphics adapter */ #define KD_EGA 4 /* enhanced graphics adapter */ #define KD_VGA 5 /* video graphics adapter */ #define KD_TGA 7 /* TGA */ #define KD_TGA2 8 /* TGA2 */ char *va_name; int va_unit; int va_minor; int va_flags; #define V_ADP_COLOR (1 << 0) #define V_ADP_MODECHANGE (1 << 1) #define V_ADP_STATESAVE (1 << 2) #define V_ADP_STATELOAD (1 << 3) #define V_ADP_FONT (1 << 4) #define V_ADP_PALETTE (1 << 5) #define V_ADP_BORDER (1 << 6) #define V_ADP_VESA (1 << 7) #define V_ADP_BOOTDISPLAY (1 << 8) #define V_ADP_PROBED (1 << 16) #define V_ADP_INITIALIZED (1 << 17) #define V_ADP_REGISTERED (1 << 18) #define V_ADP_ATTACHED (1 << 19) #define V_ADP_DAC8 (1 << 20) #define V_ADP_CWIDTH9 (1 << 21) vm_offset_t va_io_base; int va_io_size; vm_offset_t va_crtc_addr; vm_offset_t va_mem_base; int va_mem_size; vm_offset_t va_window; /* virtual address */ size_t va_window_size; size_t va_window_gran; u_int va_window_orig; vm_offset_t va_buffer; /* virtual address */ size_t va_buffer_size; int va_initial_mode; int va_initial_bios_mode; int va_mode; struct video_info va_info; int va_line_width; struct { int x; int y; } va_disp_start; void *va_token; int va_model; int va_little_bitian; int va_little_endian; int va_buffer_alias; vm_offset_t va_registers; /* virtual address */ vm_offset_t va_registers_size; }; typedef struct video_adapter video_adapter_t; struct video_adapter_info { int va_index; int va_type; char va_name[16]; int va_unit; int va_flags; vm_offset_t va_io_base; int va_io_size; vm_offset_t va_crtc_addr; vm_offset_t va_mem_base; int va_mem_size; vm_offset_t va_window; /* virtual address */ size_t va_window_size; size_t va_window_gran; vm_offset_t va_unused0; size_t va_buffer_size; int va_initial_mode; int va_initial_bios_mode; int va_mode; int va_line_width; struct { int x; int y; } va_disp_start; u_int va_window_orig; /* reserved */ u_char va_reserved[64]; }; typedef struct video_adapter_info video_adapter_info_t; /* some useful video adapter index */ #define V_ADP_PRIMARY 0 #define V_ADP_SECONDARY 1 /* video mode numbers */ #define M_B40x25 0 /* black & white 40 columns */ #define M_C40x25 1 /* color 40 columns */ #define M_B80x25 2 /* black & white 80 columns */ #define M_C80x25 3 /* color 80 columns */ #define M_BG320 4 /* black & white graphics 320x200 */ #define M_CG320 5 /* color graphics 320x200 */ #define M_BG640 6 /* black & white graphics 640x200 hi-res */ #define M_EGAMONO80x25 7 /* ega-mono 80x25 */ #define M_CG320_D 13 /* ega mode D */ #define M_CG640_E 14 /* ega mode E */ #define M_EGAMONOAPA 15 /* ega mode F */ #define M_CG640x350 16 /* ega mode 10 */ #define M_ENHMONOAPA2 17 /* ega mode F with extended memory */ #define M_ENH_CG640 18 /* ega mode 10* */ #define M_ENH_B40x25 19 /* ega enhanced black & white 40 columns */ #define M_ENH_C40x25 20 /* ega enhanced color 40 columns */ #define M_ENH_B80x25 21 /* ega enhanced black & white 80 columns */ #define M_ENH_C80x25 22 /* ega enhanced color 80 columns */ #define M_VGA_C40x25 23 /* vga 8x16 font on color */ #define M_VGA_C80x25 24 /* vga 8x16 font on color */ #define M_VGA_M80x25 25 /* vga 8x16 font on mono */ #define M_VGA11 26 /* vga 640x480 2 colors */ #define M_BG640x480 26 #define M_VGA12 27 /* vga 640x480 16 colors */ #define M_CG640x480 27 #define M_VGA13 28 /* vga 320x200 256 colors */ #define M_VGA_CG320 28 #define M_VGA_C80x50 30 /* vga 8x8 font on color */ #define M_VGA_M80x50 31 /* vga 8x8 font on color */ #define M_VGA_C80x30 32 /* vga 8x16 font on color */ #define M_VGA_M80x30 33 /* vga 8x16 font on color */ #define M_VGA_C80x60 34 /* vga 8x8 font on color */ #define M_VGA_M80x60 35 /* vga 8x8 font on color */ #define M_VGA_CG640 36 /* vga 640x400 256 color */ #define M_VGA_MODEX 37 /* vga 320x240 256 color */ #define M_VGA_C90x25 40 /* vga 8x16 font on color */ #define M_VGA_M90x25 41 /* vga 8x16 font on mono */ #define M_VGA_C90x30 42 /* vga 8x16 font on color */ #define M_VGA_M90x30 43 /* vga 8x16 font on mono */ #define M_VGA_C90x43 44 /* vga 8x8 font on color */ #define M_VGA_M90x43 45 /* vga 8x8 font on mono */ #define M_VGA_C90x50 46 /* vga 8x8 font on color */ #define M_VGA_M90x50 47 /* vga 8x8 font on mono */ #define M_VGA_C90x60 48 /* vga 8x8 font on color */ #define M_VGA_M90x60 49 /* vga 8x8 font on mono */ #define M_ENH_B80x43 0x70 /* ega black & white 80x43 */ #define M_ENH_C80x43 0x71 /* ega color 80x43 */ #define M_HGC_P0 0xe0 /* hercules graphics - page 0 @ B0000 */ #define M_HGC_P1 0xe1 /* hercules graphics - page 1 @ B8000 */ #define M_MCA_MODE 0xff /* monochrome adapter mode */ #define M_TEXT_80x25 200 /* generic text modes */ #define M_TEXT_80x30 201 #define M_TEXT_80x43 202 #define M_TEXT_80x50 203 #define M_TEXT_80x60 204 #define M_TEXT_132x25 205 #define M_TEXT_132x30 206 #define M_TEXT_132x43 207 #define M_TEXT_132x50 208 #define M_TEXT_132x60 209 #define M_VESA_BASE 0x100 /* VESA mode number base */ #define M_VESA_CG640x400 0x100 /* 640x400, 256 color */ #define M_VESA_CG640x480 0x101 /* 640x480, 256 color */ #define M_VESA_800x600 0x102 /* 800x600, 16 color */ #define M_VESA_CG800x600 0x103 /* 800x600, 256 color */ #define M_VESA_1024x768 0x104 /* 1024x768, 16 color */ #define M_VESA_CG1024x768 0x105 /* 1024x768, 256 color */ #define M_VESA_1280x1024 0x106 /* 1280x1024, 16 color */ #define M_VESA_CG1280x1024 0x107 /* 1280x1024, 256 color */ #define M_VESA_C80x60 0x108 /* 8x8 font */ #define M_VESA_C132x25 0x109 /* 8x16 font */ #define M_VESA_C132x43 0x10a /* 8x14 font */ #define M_VESA_C132x50 0x10b /* 8x8 font */ #define M_VESA_C132x60 0x10c /* 8x8 font */ #define M_VESA_32K_320 0x10d /* 320x200, 5:5:5 */ #define M_VESA_64K_320 0x10e /* 320x200, 5:6:5 */ #define M_VESA_FULL_320 0x10f /* 320x200, 8:8:8 */ #define M_VESA_32K_640 0x110 /* 640x480, 5:5:5 */ #define M_VESA_64K_640 0x111 /* 640x480, 5:6:5 */ #define M_VESA_FULL_640 0x112 /* 640x480, 8:8:8 */ #define M_VESA_32K_800 0x113 /* 800x600, 5:5:5 */ #define M_VESA_64K_800 0x114 /* 800x600, 5:6:5 */ #define M_VESA_FULL_800 0x115 /* 800x600, 8:8:8 */ #define M_VESA_32K_1024 0x116 /* 1024x768, 5:5:5 */ #define M_VESA_64K_1024 0x117 /* 1024x768, 5:6:5 */ #define M_VESA_FULL_1024 0x118 /* 1024x768, 8:8:8 */ #define M_VESA_32K_1280 0x119 /* 1280x1024, 5:5:5 */ #define M_VESA_64K_1280 0x11a /* 1280x1024, 5:6:5 */ #define M_VESA_FULL_1280 0x11b /* 1280x1024, 8:8:8 */ #define M_VESA_MODE_MAX 0x1ff struct video_display_start { int x; int y; }; typedef struct video_display_start video_display_start_t; struct video_color_palette { int index; /* first element (zero-based) */ int count; /* number of elements */ u_char *red; /* red */ u_char *green; /* green */ u_char *blue; /* blue */ u_char *transparent; /* may be NULL */ }; typedef struct video_color_palette video_color_palette_t; /* adapter info. */ #define FBIO_ADAPTER _IOR('F', 100, int) #define FBIO_ADPTYPE _IOR('F', 101, int) #define FBIO_ADPINFO _IOR('F', 102, struct video_adapter_info) /* video mode control */ #define FBIO_MODEINFO _IOWR('F', 103, struct video_info) #define FBIO_FINDMODE _IOWR('F', 104, struct video_info) #define FBIO_GETMODE _IOR('F', 105, int) #define FBIO_SETMODE _IOW('F', 106, int) /* get/set frame buffer window origin */ #define FBIO_GETWINORG _IOR('F', 107, u_int) #define FBIO_SETWINORG _IOW('F', 108, u_int) /* get/set display start address */ #define FBIO_GETDISPSTART _IOR('F', 109, video_display_start_t) #define FBIO_SETDISPSTART _IOW('F', 110, video_display_start_t) /* get/set scan line width */ #define FBIO_GETLINEWIDTH _IOR('F', 111, u_int) #define FBIO_SETLINEWIDTH _IOW('F', 112, u_int) /* color palette control */ #define FBIO_GETPALETTE _IOW('F', 113, video_color_palette_t) #define FBIO_SETPALETTE _IOW('F', 114, video_color_palette_t) /* blank display */ #define V_DISPLAY_ON 0 #define V_DISPLAY_BLANK 1 #define V_DISPLAY_STAND_BY 2 #define V_DISPLAY_SUSPEND 3 #define FBIO_BLANK _IOW('F', 115, int) #endif /* !_SYS_FBIO_H_ */
Upload File
Create Folder