File: driver__facilities_8c.html

package info (click to toggle)
xenomai 2.5.4-3squeeze1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 36,140 kB
  • ctags: 35,509
  • sloc: ansic: 109,084; sh: 11,745; makefile: 2,205; xml: 1,356; asm: 613; php: 316; perl: 155
file content (136 lines) | stat: -rw-r--r-- 17,301 bytes parent folder | download
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Xenomai API: ksrc/drivers/analogy/driver_facilities.c File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    <li>
      <form action="search.php" method="get">
        <table cellspacing="0" cellpadding="0" border="0">
          <tr>
            <td><label>&nbsp;<u>S</u>earch&nbsp;for&nbsp;</label></td>
            <td><input type="text" name="query" value="" size="20" accesskey="s"/></td>
          </tr>
        </table>
      </form>
    </li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>ksrc/drivers/analogy/driver_facilities.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
Analogy for Linux, driver facilities. 
<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Copyright (C) 1997-2000 David A. Schleef &lt;<a href="mailto:ds@schleef.org">ds@schleef.org</a>&gt; <p>
Copyright (C) 2008 Alexis Berlemont &lt;<a href="mailto:alexis.berlemont@free.fr">alexis.berlemont@free.fr</a>&gt;</dd></dl>
Xenomai is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.<p>
Xenomai is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<p>
You should have received a copy of the GNU General Public License along with Xenomai; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 
<p>

<p>
<div class="dynheader">
Include dependency graph for driver_facilities.c:</div>
<div class="dynsection">
<p><center><img src="driver__facilities_8c__incl.png" border="0" usemap="#ksrc/drivers/analogy/driver_facilities.c_map" alt=""></center>
<map name="ksrc/drivers/analogy/driver_facilities.c_map">
<area shape="rect" href="context_8h.html" title="Analogy for Linux, context structure / macros declarations." alt="" coords="145,161,281,188"><area shape="rect" href="device_8h.html" title="Analogy for Linux, device related features." alt="" coords="489,161,617,188"><area shape="rect" href="analogy__driver_8h.html" title="Analogy for Linux, driver facilities." alt="" coords="296,84,475,111"><area shape="rect" href="os__facilities_8h.html" title="Analogy for Linux, Operation system facilities." alt="" coords="305,161,465,188"></map>
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__driver.html#g82c744a0f4f897d1dbe9401d6f0d86ec">a4l_register_drv</a> (<a class="el" href="structa4l__driver.html">a4l_drv_t</a> *drv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register an Analogy driver.  <a href="group__driver.html#g82c744a0f4f897d1dbe9401d6f0d86ec"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__driver.html#g47c4f76abb8d70ecb9629cff72c45266">a4l_unregister_drv</a> (<a class="el" href="structa4l__driver.html">a4l_drv_t</a> *drv)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Unregister an Analogy driver.  <a href="group__driver.html#g47c4f76abb8d70ecb9629cff72c45266"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__subdevice.html#g32595b3806dd3e73038a2022c0b1e204">a4l_alloc_subd</a> (int sizeof_priv, void(*setup)(<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Allocate a subdevice descriptor.  <a href="group__subdevice.html#g32595b3806dd3e73038a2022c0b1e204"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__subdevice.html#g229e7725db234534da6e6973c63f1cef">a4l_add_subd</a> (a4l_dev_t *dev, <a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Add a subdevice to the driver descriptor.  <a href="group__subdevice.html#g229e7725db234534da6e6973c63f1cef"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__subdevice.html#ga8b2dfadeac340e288725e1f2ce9b63b">a4l_get_subd</a> (a4l_dev_t *dev, int idx)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a pointer to the subdevice descriptor referenced by its registration index.  <a href="group__subdevice.html#ga8b2dfadeac340e288725e1f2ce9b63b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g8ffbc9832255a701624fe874d319e5f4">a4l_buf_prepare_absput</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the absolute count of data sent from the device to the buffer since the start of the acquisition and after the next DMA shot.  <a href="group__analogy__buffer.html#g8ffbc9832255a701624fe874d319e5f4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g8d053d9fc6e19eb47f9c08abf485cea9">a4l_buf_commit_absput</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the absolute count of data which was sent from the device to the buffer since the start of the acquisition and until the last DMA shot.  <a href="group__analogy__buffer.html#g8d053d9fc6e19eb47f9c08abf485cea9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g582e96ac8358717a19995e0c8c41dffc">a4l_buf_prepare_put</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the count of data which is to be sent to the buffer at the next DMA shot.  <a href="group__analogy__buffer.html#g582e96ac8358717a19995e0c8c41dffc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gb03dcc685bcb3ad9111c9aa3dbe3baf5">a4l_buf_commit_put</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the count of data sent to the buffer during the last completed DMA shots.  <a href="group__analogy__buffer.html#gb03dcc685bcb3ad9111c9aa3dbe3baf5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gec920d203e34f2020eb51ddad3461d1c">a4l_buf_put</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, void *bufdata, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy some data from the device driver to the buffer.  <a href="group__analogy__buffer.html#gec920d203e34f2020eb51ddad3461d1c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g7fecd99d23d53c69381aacee4d9222d8">a4l_buf_prepare_absget</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Update the absolute count of data sent from the buffer to the device since the start of the acquisition and after the next DMA shot.  <a href="group__analogy__buffer.html#g7fecd99d23d53c69381aacee4d9222d8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gdadad4789e1da9236fed49a33b1b2284">a4l_buf_commit_absget</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the absolute count of data which was sent from the buffer to the device since the start of the acquisition and until the last DMA shot.  <a href="group__analogy__buffer.html#gdadad4789e1da9236fed49a33b1b2284"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gf9fe0b2fe2279e4f753ddec776d10c5f">a4l_buf_prepare_get</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the count of data which is to be sent from the buffer to the device at the next DMA shot.  <a href="group__analogy__buffer.html#gf9fe0b2fe2279e4f753ddec776d10c5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gbd70bc9f8bb4615f60c0107d51ca1f29">a4l_buf_commit_get</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the count of data sent from the buffer to the device during the last completed DMA shots.  <a href="group__analogy__buffer.html#gbd70bc9f8bb4615f60c0107d51ca1f29"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g6af2dcaaecfd2cd9f0deb6e9167d3cff">a4l_buf_get</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, void *bufdata, unsigned long count)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy some data from the buffer to the device driver.  <a href="group__analogy__buffer.html#g6af2dcaaecfd2cd9f0deb6e9167d3cff"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gc275c834264a50b9443304d33908f657">a4l_buf_evt</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd, unsigned long evts)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Signal some event(s) to a user-space program involved in some read / write operation.  <a href="group__analogy__buffer.html#gc275c834264a50b9443304d33908f657"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#gd9e80150586b4a869562d3d098f49d36">a4l_buf_count</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the data amount available in the Analogy buffer.  <a href="group__analogy__buffer.html#gd9e80150586b4a869562d3d098f49d36"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structa4l__cmd__desc.html">a4l_cmd_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g2386d5a9d84393b5db9beb22ae7674e9">a4l_get_cmd</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the current Analogy command descriptor.  <a href="group__analogy__buffer.html#g2386d5a9d84393b5db9beb22ae7674e9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__buffer.html#g6e33ba6f8a06e3dbbfe3896b0258857f">a4l_get_chan</a> (<a class="el" href="structa4l__subdevice.html">a4l_subd_t</a> *subd)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the channel index according to its type.  <a href="group__analogy__buffer.html#g6e33ba6f8a06e3dbbfe3896b0258857f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__interrupt.html#g482cc3464879c72b2359bd4b642f0a96">a4l_get_irq</a> (a4l_dev_t *dev)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the interrupt number in use for a specific device.  <a href="group__analogy__interrupt.html#g482cc3464879c72b2359bd4b642f0a96"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__interrupt.html#g2a3eb695fa1f5f97c1d6829039979d54">a4l_request_irq</a> (a4l_dev_t *dev, unsigned int irq, a4l_irq_hdlr_t handler, unsigned long flags, void *cookie)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register an interrupt handler for a specific device.  <a href="group__analogy__interrupt.html#g2a3eb695fa1f5f97c1d6829039979d54"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__analogy__interrupt.html#g6377e1975bd391b58fbe3ddb2d2c2b8e">a4l_free_irq</a> (a4l_dev_t *dev, unsigned int irq)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Release an interrupt handler for a specific device.  <a href="group__analogy__interrupt.html#g6377e1975bd391b58fbe3ddb2d2c2b8e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g6281acb78815ca55eba88d556ffa6eea">a4l_task_init</a> (a4l_task_t *task, const char *name, a4l_task_proc_t proc, void *arg, int priority)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Intialise and start an Analogy task.  <a href="group__misc.html#g6281acb78815ca55eba88d556ffa6eea"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g5354f611877d7a790c1d05d8b356749e">a4l_task_destroy</a> (a4l_task_t *task)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Destroy an Analogy task.  <a href="group__misc.html#g5354f611877d7a790c1d05d8b356749e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g334d65300e473c5bbea91157e74b6b5c">a4l_task_sleep</a> (unsigned long long nsdelay)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Make the current Analogy task passively wait a defined delay.  <a href="group__misc.html#g334d65300e473c5bbea91157e74b6b5c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned long long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__misc.html#g52b7d3c6fd2df045643d887c003753fb">a4l_get_time</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the absolute time in nanoseconds.  <a href="group__misc.html#g52b7d3c6fd2df045643d887c003753fb"></a><br></td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Aug 2 12:48:37 2010 for Xenomai API by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>