summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/chainimpl.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-05-20Update company nameSebastian Huber1-1/+1
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2022-09-19Do not use RTEMS_INLINE_ROUTINESebastian Huber1-41/+41
Directly use "static inline" which is available in C99 and later. This brings the RTEMS implementation closer to standard C. Close #3935.
2022-02-28cpukit/include/rtems/score/[a-r]*.h: Change license to BSD-2Joel Sherrill1-3/+22
Updates #3053.
2021-11-23score: Add node to insert to Chain_Node_orderSebastian Huber1-4/+7
This allows to use additional members of the nodes for comparision. Update #4534.
2020-12-02score: Canonicalize Doxygen @file commentsSebastian Huber1-2/+3
Use common phrases for the file brief descriptions. Update #3706.
2020-10-14Remove *_Is_null() inline functionsSebastian Huber1-17/+0
Simply compare the values against NULL.
2019-05-13doxygen: score: adjust doc in chainimpl.h to doxygen guidelinesAndreas Dachsberger1-106/+117
Update #3706.
2019-04-04doxygen: Rename Score* groups in RTEMSScore*Sebastian Huber1-1/+1
Update #3706
2019-01-07score: Remove superfluous include from chainimpl.hSebastian Huber1-1/+0
2018-09-10score: Debug aid for _Chain_Extract_unprotected()Sebastian Huber1-0/+2
Ensure that a chain node is not off chain while doing the chain extract.
2018-01-25Remove make preinstallChris Johns1-0/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-11-06score: _Chain_Insert_ordered_unprotected()Sebastian Huber1-11/+16
Change the chain order relation to use a directly specified left hand side value. This is similar to _RBTree_Insert_inline() and helps the compiler to better optimize the code.
2016-09-06score: Add _Chain_Initialize_one()Sebastian Huber1-0/+27
2016-09-06score: Add missing const qualifiersSebastian Huber1-6/+6
2016-07-22score: Add debug support to chainsSebastian Huber1-5/+47
This helps to detect * double insert, append, prepend errors, and * get from empty chain errors.
2016-04-18score: Add Chain_IteratorSebastian Huber1-0/+239
Add a chain iterator for safe iteration of chains with concurrent node extraction.
2016-04-06score: Delete _Chain_Append()Sebastian Huber1-13/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Get()Sebastian Huber1-16/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Extract()Sebastian Huber1-15/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Insert()Sebastian Huber1-21/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Get_with_empty_check()Sebastian Huber1-25/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Prepend_with_empty_check()Sebastian Huber1-19/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Append_with_empty_check()Sebastian Huber1-19/+0
This function is not used in the score. Update #2555.
2016-04-06score: Delete _Chain_Prepend()Sebastian Huber1-19/+0
This function is not used in the score. Update #2555.
2014-11-26chainimpl.h: Add _Assert() to _Chain_Initialize_empty()Josh Oguin1-3/+9
CodeSonar flagged this as a potential NULL deference. That should never occur but adding the _Assert() ensures we are checking that.
2014-07-26Delete unused *_Is_null() functionsSebastian Huber1-17/+0
2014-03-21Change all references of rtems.com to rtems.org.Chris Johns1-1/+1
2014-03-17score: Use only next field for chain on/offSebastian Huber1-6/+6
It is sufficient to use one field for the chain on/off indication. The chain API functions are highly performance critical.
2013-08-27score: Add and use CHAIN_INITIALIZER_ONE_NODE().Sebastian Huber1-0/+16
Add and use CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN(), RTEMS_CHAIN_INITIALIZER_ONE_NODE() and RTEMS_CHAIN_NODE_INITIALIZER_ONE_NODE_CHAIN().
2013-07-22score: Create chain implementation headerSebastian Huber1-5/+184
Move implementation specific parts of chain.h and chain.inl into new header file chainimpl.h. The chain.h contains now only the application visible API.
2013-06-14documentation: Fix Doxygen commentsSebastian Huber1-2/+2
2013-06-14score: Add _Chain_Insert_ordered_unprotected()Sebastian Huber1-0/+41
2013-01-10cpukit: Use Consistent Beginning of Doxygen Group NotationJoel Sherrill1-2/+1
This is the result of a sed script which converts all uses of @{ into a consistent form.
2013-01-09score: Doxygen Clean Up Task #17Alex Ivanov1-175/+214
2012-12-05score: Add _Chain_Append_if_is_off_chain_*()Sebastian Huber1-0/+19
2012-05-11Remove All CVS Id Strings Possible Using a ScriptJoel Sherrill1-2/+0
Script does what is expected and tries to do it as smartly as possible. + remove occurrences of two blank comment lines next to each other after Id string line removed. + remove entire comment blocks which only exited to contain CVS Ids + If the processing left a blank line at the top of a file, it was removed.
2012-02-02Extended API to support iteration of const chains.Sebastian Huber1-6/+36
2011-11-262011-11-26 Gedare Bloom <gedare@rtems.org>Gedare Bloom1-2/+2
PR 1964 * score/inline/rtems/score/chain.inl: Fix chain is first and last.
2010-11-252010-11-25 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-32/+100
PR 1711/cpukit * score/inline/rtems/score/chain.inl, score/src/chain.c: New functions _Chain_Immutable_head(), _Chain_Immutable_tail(), _Chain_Immutable_first(), and _Chain_Immutable_last(). The Chain_Control is now a union to avoid casts. The function _Chain_Is_empty() takes now a const pointer parameter.
2010-08-232010-08-23 Sebastian Huber <sebastian.huber@embedded-brains.de>Sebastian Huber1-6/+98
PR 1673/cpukit * score/src/chainappendempty.c, score/src/chaingetempty.c, score/src/chainprependempty.c: New files. * score/Makefile.am: Reflect changes above. * score/include/rtems/score/chain.h: Declare _Chain_Append_with_empty_check(), _Chain_Prepend_with_empty_check(), and _Chain_Get_with_empty_check(). * score/inline/rtems/score/chain.inl: Define _Chain_Append_with_empty_check_unprotected(), _Chain_Prepend_with_empty_check_unprotected(), and _Chain_Get_with_empty_check_unprotected().
2009-10-082009-10-08 Chris Johns <chrisj@rtems.org>Chris Johns1-0/+30
* Makefile.am, preinstall.am: Added statvfs.h. * libcsupport/Makefile.am: Add statvfs.c. * libcsupport/include/sys/statvfs.h, libcsupport/src/statvfs.c: New. * libcsupport/include/rtems/libio.h: Add a file system handler for the statvfs call. * libfs/src/devfs/devfs_init.c, libfs/src/dosfs/msdos_init.c, libfs/src/imfs/imfs_init.c, libfs/src/nfsclient/src/nfs.c: Set the statvfs handler to NULL. * include/rtems/fs.h: Add a second node access field for the RFS file system to hold a directory offset while the existing field holds the inode number. This save a rescan of the directory when working with directories. * libblock/include/rtems/bdbuf.h: Added references and user fields to the buffer descriptor. * libblock/src/bdbuf.c: Added dynamic buffer support for different block sizes. Fixed a number of bugs. * libblock/src/blkdev.c: Release the disk device on an error. * libblock/src/diskdevs.c: Set the block size to the media block size during initialisation of the disk device. * libblock/src/flashdisk.c, libblock/src/nvdisk.c, libblock/src/ramdisk.c: Updated the drivers to handle variable block sizes. * libfs/src/dosfs/fat.c, libfs/src/dosfs/fat.h: Release any buffers when an error occurs. The FAT buffer layer hangs onto a single buffer while mounted. This should be fixed. * sapi/inline/rtems/chain.inl: Added rtems_chain_set_off_chain, rtems_chain_is_node_off_chain, and rtems_chain_previous. * score/inline/rtems/score/chain.inl: Added _Chain_Set_off_chain, and _Chain_Is_node_off_chain. * libmisc/shell/main_ln.c, libmisc/shell/main_mknod.c, libmisc/shell/mknod-pack_dev.c, libmisc/shell/mknod-pack_dev.h: New shell commands. * libmisc/Makefile.am, libmisc/shell/shellconfig.h: Added ln and mknod commands. * libmisc/shell/hexdump-display.c: Fixed the reopen bug which showed up as a free with a bad pointer. * libmisc/shell/main_mount.c: List the user adding file system when listing the available file systems to mount. * libmisc/shell/utils-cp.c: Remove the fixed static copy buffer and use a large dynamic buffer. * score/inline/rtems/score/address.inl, score/src/coremsgsubmit.c, score/src/objectallocate.c, score/src/objectfree.c: Remove warnings.
2009-08-05009-08-05 Chris Johns <chrisj@rtems.org>Chris Johns1-1/+63
* libmisc/dummy/dummy-networking.c: New. * libmisc/dummy/dummy.c, libmisc/Makefile.am: Move trhe networking configuration into a separate file so configuration varations do not cause conflicts. * score/inline/rtems/score/object.inl, score/include/rtems/score/object.h: Remove warnings. * score/inline/rtems/score/object.inl: Add _Chain_First, _Chain_Last, _Chain_Mext, and _Chain_Previous. * sapi/inline/rtems/chain.inl: Add rtems_chain_first, rtems_chain_last, rtems_chain_mext, and rtems_chain_previous. * libblock/include/rtems/diskdevs.h: Remove the bdbuf pool id and block_size_log2. Add media_block_size. * libblock/src/diskdevs.c: Remove size restrictions on block size. Add media block size initialisation. Remove comment to clean up the bdbuf cache. * libblock/src/blkdev.c: Remove references to block_size_log2. Allow any block size. * libblock/include/rtems/bdbuf.h, libblock/src/bdbuf.c: Remove all references to pools and make the cache handle demand driver variable buffer size allocation. Added worker threads support the swapout task. * sapi/include/confdefs.h: Updated the bdbuf configutation.
2008-12-22Eliminate TRUE/FALSE.Ralf Corsepius1-30/+30
2008-09-04Convert to "bool".Ralf Corsepius1-9/+9
2008-08-19Add header guard to force indirect inclusion.Ralf Corsepius1-0/+4
2006-12-04More constsRalf Corsepius1-3/+3
2006-12-042006-12-04 Ralf Corsépius <ralf.corsepius@rtems.org>Ralf Corsepius1-6/+6
* score/inline/rtems/score/chain.inl: Add const qualifiers (works around 651 aliasing bugs).
2006-01-162006-01-16 Joel Sherrill <joel@OARcorp.com>Joel Sherrill1-57/+161
Large patch to improve Doxygen output. As a side-effect, grammar and spelling errors were corrected, spacing errors were address, and some variable names were improved. * libmisc/monitor/mon-object.c, libmisc/monitor/monitor.h: Account for changing OBJECTS_NO_CLASS to OBJECTS_CLASSIC_NO_CLASS. * score/Doxyfile: Set output directory. Predefine some macro values. Turn on graphical output. * score/include/rtems/debug.h, score/include/rtems/seterr.h, score/include/rtems/system.h, score/include/rtems/score/address.h, score/include/rtems/score/apiext.h, score/include/rtems/score/apimutex.h, score/include/rtems/score/bitfield.h, score/include/rtems/score/chain.h, score/include/rtems/score/context.h, score/include/rtems/score/coremsg.h, score/include/rtems/score/coremutex.h, score/include/rtems/score/coresem.h, score/include/rtems/score/heap.h, score/include/rtems/score/interr.h, score/include/rtems/score/isr.h, score/include/rtems/score/mpci.h, score/include/rtems/score/mppkt.h, score/include/rtems/score/object.h, score/include/rtems/score/objectmp.h, score/include/rtems/score/priority.h, score/include/rtems/score/stack.h, score/include/rtems/score/states.h, score/include/rtems/score/sysstate.h, score/include/rtems/score/thread.h, score/include/rtems/score/threadmp.h, score/include/rtems/score/threadq.h, score/include/rtems/score/tod.h, score/include/rtems/score/tqdata.h, score/include/rtems/score/userext.h, score/include/rtems/score/watchdog.h, score/include/rtems/score/wkspace.h, score/inline/rtems/score/address.inl, score/inline/rtems/score/chain.inl, score/inline/rtems/score/coremutex.inl, score/inline/rtems/score/coresem.inl, score/inline/rtems/score/heap.inl, score/inline/rtems/score/object.inl, score/inline/rtems/score/stack.inl, score/inline/rtems/score/thread.inl, score/inline/rtems/score/tqdata.inl, score/macros/README, score/src/heap.c, score/src/threadmp.c, score/src/threadready.c, score/src/threadstartmultitasking.c: Improve generated Doxygen output. Fix spelling and grammar errors in comments. Correct names of some variables and propagate changes.
2005-02-21New header guards.Ralf Corsepius1-2/+2
2004-11-21Adjust doxygen @file.Ralf Corsepius1-1/+1