Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


mmtimer.h
01: /*
02:  * Intel Multimedia Timer device interface
03:  *
04:  * This file is subject to the terms and conditions of the GNU General Public
05:  * License.  See the file "COPYING" in the main directory of this archive
06:  * for more details.
07:  *
08:  * Copyright (c) 2001-2004 Silicon Graphics, Inc.  All rights reserved.
09:  *
10:  * This file should define an interface compatible with the IA-PC Multimedia
11:  * Timers Draft Specification (rev. 0.97) from Intel.  Note that some
12:  * hardware may not be able to safely export its registers to userspace,
13:  * so the ioctl interface should support all necessary functionality.
14:  *
15:  * 11/01/01 - jbarnes - initial revision
16:  * 9/10/04 - Christoph Lameter - remove interrupt support
17:  * 9/17/04 - jbarnes - remove test program, move some #defines to the driver
18:  */
19: 
20: #ifndef _LINUX_MMTIMER_H
21: #define _LINUX_MMTIMER_H
22: 
23: /*
24:  * Breakdown of the ioctl's available.  An 'optional' next to the command
25:  * indicates that supporting this command is optional, while 'required'
26:  * commands must be implemented if conformance is desired.
27:  *
28:  * MMTIMER_GETOFFSET - optional
29:  *   Should return the offset (relative to the start of the page where the
30:  *   registers are mapped) for the counter in question.
31:  *
32:  * MMTIMER_GETRES - required
33:  *   The resolution of the clock in femto (10^-15) seconds
34:  *
35:  * MMTIMER_GETFREQ - required
36:  *   Frequency of the clock in Hz
37:  *
38:  * MMTIMER_GETBITS - required
39:  *   Number of bits in the clock's counter
40:  *
41:  * MMTIMER_MMAPAVAIL - required
42:  *   Returns nonzero if the registers can be mmap'd into userspace, 0 otherwise
43:  *
44:  * MMTIMER_GETCOUNTER - required
45:  *   Gets the current value in the counter
46:  */
47: #define MMTIMER_IOCTL_BASE 'm'
48: 
49: #define MMTIMER_GETOFFSET _IO(MMTIMER_IOCTL_BASE, 0)
50: #define MMTIMER_GETRES _IOR(MMTIMER_IOCTL_BASE, 1, unsigned long)
51: #define MMTIMER_GETFREQ _IOR(MMTIMER_IOCTL_BASE, 2, unsigned long)
52: #define MMTIMER_GETBITS _IO(MMTIMER_IOCTL_BASE, 4)
53: #define MMTIMER_MMAPAVAIL _IO(MMTIMER_IOCTL_BASE, 6)
54: #define MMTIMER_GETCOUNTER _IOR(MMTIMER_IOCTL_BASE, 9, unsigned long)
55: 
56: #endif /* _LINUX_MMTIMER_H */
57: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/