diff --git a/cmake/Makefile.sample b/cmake/Makefile.sample
index 48eddce98..62e86b48d 100644
--- a/cmake/Makefile.sample
+++ b/cmake/Makefile.sample
@@ -153,7 +153,6 @@ usersguide:
osalguide:
$(MAKE) --no-print-directory -C "$(O)" osalguide
- @/bin/echo -e "\n\nOsal Users Guide: \nfile://$(CURDIR)/$(O)/doc/osalguide/html/index.html\n"
# Make all the commands that use the build tree depend on a flag file
# that is used to indicate the prep step has been done. This way
diff --git a/cmake/mission_build.cmake b/cmake/mission_build.cmake
index 72954b59c..f024f864b 100644
--- a/cmake/mission_build.cmake
+++ b/cmake/mission_build.cmake
@@ -269,9 +269,6 @@ function(prepare)
configure_file("${CFE_SOURCE_DIR}/cmake/cfe-common.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/cfe-common.doxyfile")
- configure_file("${CFE_SOURCE_DIR}/cmake/osal-common.doxyfile.in"
- "${CMAKE_BINARY_DIR}/doc/osal-common.doxyfile")
-
configure_file("${CFE_SOURCE_DIR}/cmake/mission-detaildesign.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/mission-detaildesign.doxyfile")
@@ -298,18 +295,9 @@ function(prepare)
string(REPLACE ";" " \\\n" MISSION_USERGUIDE_HEADERFILES "${MISSION_USERGUIDE_HEADERFILES}")
- # OSAL API GUIDE include PUBLIC API
- file(GLOB MISSION_OSAL_HEADERFILES
- "${osal_MISSION_DIR}/src/os/inc/*.h"
- "${CMAKE_BINARY_DIR}/doc/osconfig-example.h")
- string(REPLACE ";" " \\\n" MISSION_OSAL_HEADERFILES "${MISSION_OSAL_HEADERFILES}")
-
configure_file("${CFE_SOURCE_DIR}/cmake/cfe-usersguide.doxyfile.in"
"${CMAKE_BINARY_DIR}/doc/cfe-usersguide.doxyfile")
- configure_file("${CFE_SOURCE_DIR}/cmake/osalguide.doxyfile.in"
- "${CMAKE_BINARY_DIR}/doc/osalguide.doxyfile")
-
add_custom_target(mission-doc
doxygen mission-detaildesign.doxyfile
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/doc")
@@ -318,9 +306,14 @@ function(prepare)
doxygen cfe-usersguide.doxyfile
WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/doc")
- add_custom_target(osalguide
- doxygen osalguide.doxyfile
- WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/doc")
+ # OSAL API GUIDE include PUBLIC API
+ set(OSAL_API_INCLUDE_DIRECTORIES
+ "${osal_MISSION_DIR}/src/os/inc"
+ "${CMAKE_BINARY_DIR}/doc"
+ )
+ add_subdirectory(${osal_MISSION_DIR}/doc/src ${CMAKE_BINARY_DIR}/doc/osalguide)
+ add_custom_target(osalguide)
+ add_dependencies(osalguide osal-apiguide)
# Pull in any application-specific mission-scope configuration
# This may include user configuration files such as cfe_mission_cfg.h,
diff --git a/cmake/osal-common.doxyfile.in b/cmake/osal-common.doxyfile.in
deleted file mode 100644
index c52f671fa..000000000
--- a/cmake/osal-common.doxyfile.in
+++ /dev/null
@@ -1,78 +0,0 @@
-#---------------------------------------------------------------------------
-# Project related configuration options, shared for all cFE doxygen outputs
-#---------------------------------------------------------------------------
-@INCLUDE_PATH = @MISSION_SOURCE_DIR@
-OUTPUT_DIRECTORY = .
-ABBREVIATE_BRIEF = "The $name class " \
- "The $name widget " \
- "The $name file " \
- is \
- provides \
- specifies \
- contains \
- represents \
- a \
- an \
- the
-TAB_SIZE = 8
-OPTIMIZE_OUTPUT_FOR_C = YES
-#---------------------------------------------------------------------------
-# Build related configuration options
-#---------------------------------------------------------------------------
-EXTRACT_ALL = YES
-EXTRACT_PRIVATE = YES
-EXTRACT_STATIC = YES
-CASE_SENSE_NAMES = NO
-GENERATE_TODOLIST = NO
-#---------------------------------------------------------------------------
-# configuration options related to warning and progress messages
-#---------------------------------------------------------------------------
-WARN_NO_PARAMDOC = YES
-WARN_LOGFILE = @CMAKE_BINARY_DIR@/doc/warnings.log
-#---------------------------------------------------------------------------
-# configuration options related to the input files
-#---------------------------------------------------------------------------
-STRIP_FROM_PATH = @MISSION_SOURCE_DIR@
-
-# Always include a standard set of CFE documentation in the input set
-# This is applicable to both users guide and detail design outputs
-INPUT += @MISSION_SOURCE_DIR@/cfe/docs/src/cfs_versions.dox
-INPUT += @MISSION_SOURCE_DIR@/cfe/docs/src/osal_fs.dox
-INPUT += @MISSION_SOURCE_DIR@/cfe/docs/src/osal_timer.dox
-
-FILE_PATTERNS = *.c *.cpp *.cc *.C *.h *.hh *.hpp *.H *.dox *.md
-RECURSIVE = YES
-EXAMPLE_PATTERNS = *
-#---------------------------------------------------------------------------
-# configuration options related to source browsing
-#---------------------------------------------------------------------------
-SOURCE_BROWSER = YES
-REFERENCED_BY_RELATION = YES
-REFERENCES_RELATION = YES
-#---------------------------------------------------------------------------
-# configuration options related to the LaTeX output
-#---------------------------------------------------------------------------
-GENERATE_LATEX = NO
-LATEX_CMD_NAME = latex
-COMPACT_LATEX = YES
-PAPER_TYPE = letter
-#---------------------------------------------------------------------------
-# configuration options related to the RTF output
-#---------------------------------------------------------------------------
-COMPACT_RTF = YES
-#---------------------------------------------------------------------------
-# Configuration options related to the dot tool
-#---------------------------------------------------------------------------
-CLASS_DIAGRAMS = NO
-HAVE_DOT = YES
-CLASS_GRAPH = NO
-COLLABORATION_GRAPH = NO
-INCLUDE_GRAPH = NO
-INCLUDED_BY_GRAPH = NO
-CALL_GRAPH = YES
-GRAPHICAL_HIERARCHY = NO
-MAX_DOT_GRAPH_DEPTH = 1000
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = NO
diff --git a/cmake/osalguide.doxyfile.in b/cmake/osalguide.doxyfile.in
deleted file mode 100644
index 431d8cd73..000000000
--- a/cmake/osalguide.doxyfile.in
+++ /dev/null
@@ -1,18 +0,0 @@
-#---------------------------------------------------------------------------
-# Doxygen Configuration options to generate the "OSAL API Guide"
-#---------------------------------------------------------------------------
-
-# Start with the main page so document ordering is established
-INPUT += @MISSION_SOURCE_DIR@/cfe/docs/src/osalmain.dox
-
-# Common definitions, some of which are extended or overridden here.
-@INCLUDE = @MISSION_BINARY_DIR@/doc/osal-common.doxyfile
-PROJECT_NAME = "OSAL User's Guide"
-OUTPUT_DIRECTORY = osalguide
-GENERATE_LATEX = YES
-
-#PREDEFINED
-PREDEFINED += @OSALGUIDE_PREDEFINED@
-
-# Bring in the cFE header files for the documentation of the various API calls
-INPUT += @MISSION_OSAL_HEADERFILES@
diff --git a/docs/src/osal_fs.dox b/docs/src/osal_fs.dox
deleted file mode 100644
index 6a8b8cf29..000000000
--- a/docs/src/osal_fs.dox
+++ /dev/null
@@ -1,94 +0,0 @@
-/**
-\page osalfsovr File System Overview
-
- The File System API is a thin wrapper around a selection of POSIX file APIs.
- In addition the File System API presents a common directory structure and
- volume view regardless of the underlying system type. For example, vxWorks
- uses MS-DOS style volume names and directories where a vxWorks RAM disk might
- have the volume “RAM:0”. With this File System API, volumes are represented
- as Unix-style paths where each volume is mounted on the root file system:
-
-
- - RAM:0/file1.dat becomes /mnt/ram/file1.dat
-
- FL:0/file2.dat becomes /mnt/fl/file2.dat
-
-
- This abstraction allows the applications to use the same paths regardless of
- the implementation and it also allows file systems to be simulated on a desktop
- system for testing. On a desktop Linux system, the file system abstraction can
- be set up to map virtual devices to a regular directory. This is accomplished
- through the OS_mkfs call, OS_mount call, and a BSP specific volume table that
- maps the virtual devices to real devices or underlying file systems.
-
- In order to make this file system volume abstraction work, a “Volume Table”
- needs to be provided in the Board Support Package of the application. The table
- has the following fields:
-
-
- - Device Name: This is the name of the virtual device that the Application
- uses. Common names are “ramdisk1”, “flash1”, or “volatile1” etc. But the
- name can be any unique string.
-
- Physical Device Name: This is an implementation specific field. For
- vxWorks it is not needed and can be left blank. For a File system based
- implementation, it is the “mount point” on the root file system where all
- of the volume will be mounted. A common place for this on Linux could
- be a user’s home directory, “/tmp”, or even the current working
- directory “.”. In the example of “/tmp” all of the directories created
- for the volumes would be under “/tmp” on the Linux file system. For a real
- disk device in Linux, such as a RAM disk, this field is the device
- name “/dev/ram0”.
-
- Volume Type: This field defines the type of volume. The types are:
- FS_BASED which uses the existing file system, RAM_DISK which uses a
- RAM_DISK device in vxWorks, RTEMS, or Linux, FLASH_DISK_FORMAT which uses
- a flash disk that is to be formatted before use, FLASH_DISK_INIT which
- uses a flash disk with an existing format that is just to be initialized
- before it’s use, EEPROM which is for an EEPROM or PROM based system.
-
- Volatile Flag: This flag indicates that the volume or disk is a volatile
- disk (RAM disk ) or a non-volatile disk, that retains its contents when
- the system is rebooted. This should be set to TRUE or FALSE.
-
- Free Flag: This is an internal flag that should be set to FALSE or zero.
-
- Is Mounted Flag: This is an internal flag that should be set to FALSE
- or zero. Note that a “pre-mounted” FS_BASED path can be set up by setting
- this flag to one.
-
- Volume Name: This is an internal field and should be set to a space
- character “ “.
-
- Mount Point Field: This is an internal field and should be set to a space
- character “ “.
-
- Block Size Field: This is used to record the block size of the device and
- does not need to be set by the user.
-
-**/
-
-/**
-\page osalfsfd File Descriptors In Osal
-
- The OSAL uses abstracted file descriptors. This means that the file descriptors
- passed back from the OS_open and OS_creat calls will only work with other OSAL OS_*
- calls. The reasoning for this is as follows:
-
- Because the OSAL now keeps track of all file descriptors, OSAL specific information
- can be associated with a specific file descriptor in an OS independent way. For
-instance, the path of the file that the file descriptor points to can be easily
- retrieved. Also, the OSAL task ID of the task that opened the file can also be
- retrieved easily. Both of these pieces of information are very useful when trying
- to determine statistics for a task, or the entire system. This information can all
- be retrieved with a single API, OS_FDGetInfo.
-
- All of possible file system calls are not implemented. "Special" files requiring OS
- specific control/operations are by nature not portable. Abstraction in this case is
- is not possible, so the raw OS calls should be used (including open/close/etc). Mixing
- with OSAL calls is not supported for such cases. #OS_TranslatePath is available to
- support using open directly by an app and maintain abstraction on the file system.
-
- There are some small drawbacks with the OSAL file descriptors. Because the related
- information is kept in a table, there is a define called OS_MAX_NUM_OPEN_FILES that
- defines the maximum number of file descriptors available. This is a configuration
-parameter, and can be changed to fit your needs.
-
- Also, if you open or create a file not using the OSAL calls (OS_open or OS_creat)
- then none of the other OS_* calls that accept a file descriptor as a parameter will
-work (the results of doing so are undefined). Therefore, if you open a file with
- the underlying OS's open call, you must continue to use the OS's calls until you
- close the file descriptor. Be aware that by doing this your software may no longer
- be OS agnostic.
-**/
diff --git a/docs/src/osal_timer.dox b/docs/src/osal_timer.dox
deleted file mode 100644
index 793bc24c7..000000000
--- a/docs/src/osal_timer.dox
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- \page osaltimerover Timer Overview
-
- The timer API is a generic interface to the OS timer facilities. It is
- implemented using the POSIX timers on Linux and vxWorks and the native timer
- API on RTEMS. The number of timers supported is controlled by the configuration
- parameter OS_MAX_TIMERS.
-**/
diff --git a/docs/src/osalmain.dox b/docs/src/osalmain.dox
deleted file mode 100644
index 7502b6991..000000000
--- a/docs/src/osalmain.dox
+++ /dev/null
@@ -1,121 +0,0 @@
-/**
- \mainpage Osal API Documentation
-
-
- - General Information and Concepts
-
-
- Core
-
- - \ref OSReturnCodes
-
- \ref OSObjectTypes
-
- APIs
-
- - \ref OSAPICore
-
- \ref OSAPIObjUtil
-
- \ref OSAPITask
-
- \ref OSAPIMsgQueue
-
- \ref OSAPIHeap
-
- \ref OSAPIError
-
- \ref OSAPISelect
-
- \ref OSAPIPrintf
-
- \ref OSAPIBsp
-
- \ref OSAPIClock
-
- \ref OSAPIShell
-
- - \subpage osapi-common.h "Common Reference"
-
- \subpage osapi-error.h "Return Code Reference"
-
- \subpage osapi-idmap.h "Id Map Reference"
-
- \subpage osapi-clock.h "Clock Reference"
-
- \subpage osapi-task.h "Task Reference"
-
- \subpage osapi-queue.h "Message Queue Reference"
-
- \subpage osapi-heap.h "Heap Reference"
-
- \subpage osapi-select.h "Select Reference"
-
- \subpage osapi-printf.h "Printf Reference"
-
- \subpage osapi-bsp.h "BSP Reference"
-
- \subpage osapi-shell.h "Shell Reference"
-
- - File System
-
- - \subpage osalfsovr
-
- \subpage osalfsfd
-
- \ref OSFileAccess
-
- \ref OSFileOffset
-
- APIs
-
- - \ref OSAPIFile
-
- \ref OSAPIDir
-
- \ref OSAPIFileSys
-
- - \subpage osapi-filesys.h "File System Reference"
-
- \subpage osapi-file.h "File Reference"
-
- \subpage osapi-dir.h "Directory Reference"
-
- - Object File Loader
-
- - APIs
-
-
- \subpage osapi-module.h "File Loader Reference"
-
- - Network
-
- - APIs
-
- - \ref OSALAPINetwork
-
- \ref OSAPISocketAddr
-
- \ref OSALAPISocket
-
- - \subpage osapi-network.h "Network Reference"
-
- \subpage osapi-sockets.h "Socket Reference"
-
- - Timer
-
- - \subpage osaltimerover
-
- APIs
-
- - \ref OSAPITimebase
-
- \ref OSAPITimer
-
- - \subpage osapi-timer.h "Timer Reference"
-
- \subpage osapi-timebase.h "Time Base Reference"
-
- - Semaphore and Mutex
-
- - \ref OSSemaphoreStates
-
- APIs
-
- - \ref OSAPIBinSem
-
- \ref OSAPICountSem
-
- \ref OSAPIMutex
-
- - \subpage osapi-binsem.h "Binary Semaphore Reference"
-
- \subpage osapi-countsem.h "Counting Semaphore Reference"
-
- \subpage osapi-mutex.h "Mutex Reference"
-
-
-**/
-
-/**
- \page osalIntro OSAL Introduction
-
- The goal of this library is to promote the creation of portable and
- reusable real time embedded system software. Given the necessary OS
- abstraction layer implementations, the same embedded software should
- compile and run on a number of platforms ranging from spacecraft
- computer systems to desktop PCs.
-
- The OS Application Program Interfaces (APIs) are broken up into core,
- file system, loader, network, and timer APIs. See the related document
- sections for full descriptions.
-
- @note The majority of these APIs should be called from a task running
- in the context of an OSAL application and in general should not be called
- from an ISR. There are a few exceptions, such as the ability to give a
- binary semaphore from an ISR.
-**/
-
-
-