2010-08-10 03:11:02 +00:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
< html > < head > < meta http-equiv = "Content-Type" content = "text/html;charset=UTF-8" >
< title > ChibiOS/RT: GenericQueue Struct Reference< / title >
< link href = "custom.css" rel = "stylesheet" type = "text/css" >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" >
< / head > < body >
< table style = "text-align: center; width: 100%;" border = "0"
cellpadding="2" cellspacing="2">
< tbody >
< tr >
< td style = "width: 80px;" > < img alt = "ChibiOS/RT Logo" src = "logo_small.png" > < / td >
< td > < big > < big > ChibiOS/RT< / big > < / big > < br > < br > Architecture - Reference Manual - Guides< / td >
< td style = "width: 80px;" > < / td >
< / tr >
< / tbody >
< / table >
< hr size = "1" >
2010-11-22 05:53:37 +00:00
<!-- Generated by Doxygen 1.7.1 -->
2010-08-10 03:11:02 +00:00
< div class = "navigation" id = "top" >
< div class = "tabs" >
2010-11-22 05:53:37 +00:00
< ul class = "tablist" >
2010-08-10 03:11:02 +00:00
< li > < a href = "main.html" > < span > Main Page< / span > < / a > < / li >
< li > < a href = "modules.html" > < span > Modules< / span > < / a > < / li >
< li class = "current" > < a href = "annotated.html" > < span > Data Structures< / span > < / a > < / li >
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< / ul >
< / div >
2010-11-22 05:53:37 +00:00
< div class = "tabs2" >
< ul class = "tablist" >
2010-08-10 03:11:02 +00:00
< li > < a href = "annotated.html" > < span > Data Structures< / span > < / a > < / li >
< li > < a href = "hierarchy.html" > < span > Class Hierarchy< / span > < / a > < / li >
< li > < a href = "functions.html" > < span > Data Fields< / span > < / a > < / li >
< / ul >
< / div >
< / div >
2010-11-22 05:53:37 +00:00
< div class = "header" >
< div class = "summary" >
< a href = "#pub-attribs" > Data Fields< / a > < / div >
< div class = "headertitle" >
2010-08-10 03:11:02 +00:00
< h1 > GenericQueue Struct Reference< br / >
< small >
[< a class = "el" href = "group__io__queues.html" > I/O Queues< / a > ]< / small >
2010-11-22 05:53:37 +00:00
< / h1 > < / div >
< / div >
< div class = "contents" >
<!-- doxytag: class="GenericQueue" -->
2010-08-10 03:11:02 +00:00
< p > Generic I/O queue structure.
< a href = "#_details" > More...< / a > < / p >
< p > < code > #include < < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > > < / code > < / p >
< div class = "dynheader" >
Collaboration diagram for GenericQueue:< / div >
2010-11-22 05:53:37 +00:00
< div class = "dyncontent" >
2010-08-10 03:11:02 +00:00
< div class = "center" > < img src = "struct_generic_queue__coll__graph.png" border = "0" usemap = "#_generic_queue_coll__map" alt = "Collaboration graph" / > < / div >
< map name = "_generic_queue_coll__map" id = "_generic_queue_coll__map" >
2010-11-22 05:53:37 +00:00
< area shape = "rect" id = "node2" href = "struct_semaphore.html" title = "Semaphore structure." alt = "" coords = "13,163,91,255" / >
< area shape = "rect" id = "node4" href = "struct_threads_queue.html" title = "Generic threads bidirectional linked list header and element." alt = "" coords = "5,6,99,98" / >
< / map >
2010-08-10 03:11:02 +00:00
< center > < span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend< / a > ]< / span > < / center > < / div >
2010-11-22 05:53:37 +00:00
< table class = "memberdecls" >
< tr > < td colspan = "2" > < h2 > < a name = "pub-attribs" > < / a >
Data Fields< / h2 > < / td > < / tr >
2010-08-10 03:11:02 +00:00
< tr > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_generic_queue.html#a644ac8a420048012cf562a31e8c144c6" > q_buffer< / a > < / td > < / tr >
< tr > < td class = "mdescLeft" > < / td > < td class = "mdescRight" > Pointer to the queue buffer. < a href = "#a644ac8a420048012cf562a31e8c144c6" > < / a > < br / > < / td > < / tr >
< tr > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_generic_queue.html#a2345976305f32ce54981ad1ee36e77be" > q_top< / a > < / td > < / tr >
< tr > < td class = "mdescLeft" > < / td > < td class = "mdescRight" > Pointer to the first location after the buffer. < a href = "#a2345976305f32ce54981ad1ee36e77be" > < / a > < br / > < / td > < / tr >
< tr > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_generic_queue.html#a5cf5a39a1a57b15d1a2491edcbd72442" > q_wrptr< / a > < / td > < / tr >
< tr > < td class = "mdescLeft" > < / td > < td class = "mdescRight" > Write pointer. < a href = "#a5cf5a39a1a57b15d1a2491edcbd72442" > < / a > < br / > < / td > < / tr >
< tr > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_generic_queue.html#acc1453d7bc5a4ceddba2166b72ba3b47" > q_rdptr< / a > < / td > < / tr >
< tr > < td class = "mdescLeft" > < / td > < td class = "mdescRight" > Read pointer. < a href = "#acc1453d7bc5a4ceddba2166b72ba3b47" > < / a > < br / > < / td > < / tr >
< tr > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "struct_semaphore.html" > Semaphore< / a > < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_generic_queue.html#a21fa1b28fa19bbb1b036c396b44d9fd5" > q_sem< / a > < / td > < / tr >
< tr > < td class = "mdescLeft" > < / td > < td class = "mdescRight" > Counter < code > < a class = "el" href = "struct_semaphore.html" title = "Semaphore structure." > Semaphore< / a > < / code > . < a href = "#a21fa1b28fa19bbb1b036c396b44d9fd5" > < / a > < br / > < / td > < / tr >
< tr > < td class = "memItemLeft" align = "right" valign = "top" > < a class = "el" href = "group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5" > qnotify_t< / a > < / td > < td class = "memItemRight" valign = "bottom" > < a class = "el" href = "struct_generic_queue.html#ab8c8dc77de2c387f8a980a9c179388e1" > q_notify< / a > < / td > < / tr >
< tr > < td class = "mdescLeft" > < / td > < td class = "mdescRight" > Data notification callback. < a href = "#ab8c8dc77de2c387f8a980a9c179388e1" > < / a > < br / > < / td > < / tr >
< / table >
< hr / > < a name = "_details" > < / a > < h2 > Detailed Description< / h2 >
< p > Generic I/O queue structure. < / p >
< p > This structure represents a generic Input or Output asymmetrical queue. The queue is asymmetrical because one end is meant to be accessed from a thread context, and thus can be blocking, the other end is accessible from interrupt handlers or from within a kernel lock zone (see < b > I-Locked< / b > and < b > S-Locked< / b > states in < a class = "el" href = "concepts.html#system_states" > System States< / a > ) and is non-blocking. < / p >
< p > Definition at line < a class = "el" href = "chqueues_8h_source.html#l00070" > 70< / a > of file < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > .< / p >
< hr / > < h2 > Field Documentation< / h2 >
< a class = "anchor" id = "a644ac8a420048012cf562a31e8c144c6" > < / a > <!-- doxytag: member="GenericQueue::q_buffer" ref="a644ac8a420048012cf562a31e8c144c6" args="" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < a class = "el" href = "struct_generic_queue.html#a644ac8a420048012cf562a31e8c144c6" > GenericQueue::q_buffer< / a > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Pointer to the queue buffer. < / p >
< p > Definition at line < a class = "el" href = "chqueues_8h_source.html#l00071" > 71< / a > of file < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > .< / p >
< p > Referenced by < a class = "el" href = "group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0" > chIQGetTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5" > chIQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc" > chIQPutI()< / a > , < a class = "el" href = "group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764" > chIQReadTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59" > chIQResetI()< / a > , < a class = "el" href = "group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9" > chOQGetI()< / a > , < a class = "el" href = "group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1" > chOQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga3df1926602eb698119990b311b097ad9" > chOQPutTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296" > chOQResetI()< / a > , and < a class = "el" href = "group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8" > chOQWriteTimeout()< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "a2345976305f32ce54981ad1ee36e77be" > < / a > <!-- doxytag: member="GenericQueue::q_top" ref="a2345976305f32ce54981ad1ee36e77be" args="" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < a class = "el" href = "struct_generic_queue.html#a2345976305f32ce54981ad1ee36e77be" > GenericQueue::q_top< / a > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Pointer to the first location after the buffer. < / p >
< p > Definition at line < a class = "el" href = "chqueues_8h_source.html#l00072" > 72< / a > of file < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > .< / p >
< p > Referenced by < a class = "el" href = "group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0" > chIQGetTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5" > chIQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc" > chIQPutI()< / a > , < a class = "el" href = "group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764" > chIQReadTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9" > chOQGetI()< / a > , < a class = "el" href = "group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1" > chOQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga3df1926602eb698119990b311b097ad9" > chOQPutTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296" > chOQResetI()< / a > , and < a class = "el" href = "group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8" > chOQWriteTimeout()< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "a5cf5a39a1a57b15d1a2491edcbd72442" > < / a > <!-- doxytag: member="GenericQueue::q_wrptr" ref="a5cf5a39a1a57b15d1a2491edcbd72442" args="" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < a class = "el" href = "struct_generic_queue.html#a5cf5a39a1a57b15d1a2491edcbd72442" > GenericQueue::q_wrptr< / a > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Write pointer. < / p >
< p > Definition at line < a class = "el" href = "chqueues_8h_source.html#l00074" > 74< / a > of file < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > .< / p >
< p > Referenced by < a class = "el" href = "group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5" > chIQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc" > chIQPutI()< / a > , < a class = "el" href = "group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59" > chIQResetI()< / a > , < a class = "el" href = "group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1" > chOQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga3df1926602eb698119990b311b097ad9" > chOQPutTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296" > chOQResetI()< / a > , and < a class = "el" href = "group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8" > chOQWriteTimeout()< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "acc1453d7bc5a4ceddba2166b72ba3b47" > < / a > <!-- doxytag: member="GenericQueue::q_rdptr" ref="acc1453d7bc5a4ceddba2166b72ba3b47" args="" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group___s_t_m8___c_o_r_e.html#gaba7bc1797add20fe3efdf37ced1182c5" > uint8_t< / a > * < a class = "el" href = "struct_generic_queue.html#acc1453d7bc5a4ceddba2166b72ba3b47" > GenericQueue::q_rdptr< / a > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Read pointer. < / p >
< p > Definition at line < a class = "el" href = "chqueues_8h_source.html#l00075" > 75< / a > of file < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > .< / p >
< p > Referenced by < a class = "el" href = "group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0" > chIQGetTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5" > chIQInit()< / a > , < a class = "el" href = "group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764" > chIQReadTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59" > chIQResetI()< / a > , < a class = "el" href = "group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9" > chOQGetI()< / a > , < a class = "el" href = "group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1" > chOQInit()< / a > , and < a class = "el" href = "group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296" > chOQResetI()< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "a21fa1b28fa19bbb1b036c396b44d9fd5" > < / a > <!-- doxytag: member="GenericQueue::q_sem" ref="a21fa1b28fa19bbb1b036c396b44d9fd5" args="" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "struct_semaphore.html" > Semaphore< / a > < a class = "el" href = "struct_generic_queue.html#a21fa1b28fa19bbb1b036c396b44d9fd5" > GenericQueue::q_sem< / a > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Counter < code > < a class = "el" href = "struct_semaphore.html" title = "Semaphore structure." > Semaphore< / a > < / code > . < / p >
< p > Definition at line < a class = "el" href = "chqueues_8h_source.html#l00076" > 76< / a > of file < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > .< / p >
< p > Referenced by < a class = "el" href = "group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0" > chIQGetTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5" > chIQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga23b72ba9803de5a20caa84ffd0c193fc" > chIQPutI()< / a > , < a class = "el" href = "group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764" > chIQReadTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga2252ca3e5d6ee6d8d323d025365aee59" > chIQResetI()< / a > , < a class = "el" href = "group__io__queues.html#ga34a5a71f39e94fcfdd88935da92a8ce9" > chOQGetI()< / a > , < a class = "el" href = "group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1" > chOQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga3df1926602eb698119990b311b097ad9" > chOQPutTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0a35a7de945e4b56b5fb5f5c8567e296" > chOQResetI()< / a > , and < a class = "el" href = "group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8" > chOQWriteTimeout()< / a > .< / p >
< / div >
< / div >
< a class = "anchor" id = "ab8c8dc77de2c387f8a980a9c179388e1" > < / a > <!-- doxytag: member="GenericQueue::q_notify" ref="ab8c8dc77de2c387f8a980a9c179388e1" args="" -->
< div class = "memitem" >
< div class = "memproto" >
< table class = "memname" >
< tr >
< td class = "memname" > < a class = "el" href = "group__io__queues.html#ga7c6a6ab1d0d4999011cfee832ad1c8b5" > qnotify_t< / a > < a class = "el" href = "struct_generic_queue.html#ab8c8dc77de2c387f8a980a9c179388e1" > GenericQueue::q_notify< / a > < / td >
< / tr >
< / table >
< / div >
< div class = "memdoc" >
< p > Data notification callback. < / p >
< p > Definition at line < a class = "el" href = "chqueues_8h_source.html#l00077" > 77< / a > of file < a class = "el" href = "chqueues_8h_source.html" > chqueues.h< / a > .< / p >
< p > Referenced by < a class = "el" href = "group__io__queues.html#ga142d0e885ac3a695f5f033a65f49abd0" > chIQGetTimeout()< / a > , < a class = "el" href = "group__io__queues.html#ga0d3a250e6572526b165d2c61f69230e5" > chIQInit()< / a > , < a class = "el" href = "group__io__queues.html#gaddf6fc39af7d905c9f23afde14d8d764" > chIQReadTimeout()< / a > , < a class = "el" href = "group__io__queues.html#gae2a5a0ef7c488ac02762e76933baa7b1" > chOQInit()< / a > , < a class = "el" href = "group__io__queues.html#ga3df1926602eb698119990b311b097ad9" > chOQPutTimeout()< / a > , and < a class = "el" href = "group__io__queues.html#ga1e90d41fa021107d72b1bed81186aae8" > chOQWriteTimeout()< / a > .< / p >
< / div >
< / div >
< / div >
< hr size = "1" > < address style = "text-align: right;" > < small >
2010-11-22 05:53:37 +00:00
Generated on Sun Oct 24 2010 09:40:49 for ChibiOS/RT by < a href = "http://www.doxygen.org/index.html" > < img src = "doxygen.png" alt = "doxygen" align = "middle" border = "0" > < / a > 1.7.1< / small > < / address >
2010-08-10 03:11:02 +00:00
< / body >
< / html >