* Start working on fixing doxygen warnings
* Upgrade doxyfile to Doxygen 1.9.1
* Clean up some unmatched groups and add some exclusions
* Fix docs for rtos::ThisThread not showing up
* Fix up KV store docs
* Fix incorrect @files, some more incorrect groups
* Fix lots of broken links
* Start fixing mbedtls groups
* Fix more mbedtls docs
* Fix remaining mbedtls files with missing or incorrect grouping
* Fix a huge amount of PSA docs errors
* Fix a few more mbedtls docs errors
* Fix __cplusplus not defined for docs, clean up call in callback typedef, fix some docs errors
* Fix some broken doc links in HAL headers
* Fix more PSA doc errors
* Fix some doxygen errors in networking code
* Fix lots of network related doc errors
* Try and fix some CI failures
* Use Doxygen Action instead of doxygen in Mbed container to get the right version
* Try removing docs check
* Add first part of doxygen action
* Add next part of doxygen action
* Fix yaml syntax error
* Add in license check fix
* Try using verbose scancode
* Fix some more docs issues, workaround scancode-toolkit#3179
* Clean up the LoRaRadio get_state() function on each implementation. Also fix some other compile and doc errors.
* Fix all remaining doxygen errors
* Fix escaping, for realsies this time
* Remove Doxygen unsupported config options, fix some more get_status() declarations
* Fix some UNITTESTS build errors
* Fix one more compile error
* Another unittest error
To actually get the filename in the error reporting struct instead of
the start of the path, let's use the MBED_FILENAME macro that MBED_ERROR
et al uses.
The new Apple M1 Mac computers are ARM based. When compiling and running
unit tests on an M1 Mac, the architecture is defined as __arm__
An extra check for __aarch64__ is needed to set MBED_EXCLUSIVE_ACCESS to 0U for the M1
Mac
If not, compilation fails with "Unknown ARM architecture for exclusive access" error
Remove the static allocation for the dirent, and allocate it from the
heap during opendir().
Removing the static data can reduce RAM usage on some toolchains when
directories are not being used. The static allocation sometimes is
combined with the file handle array and can't be dropped by the linker.
Original readdir() was not thread-safe at all.
This was in violation of POSIX which states the result of readdir "is
not overwritten by another call to readdir() on a different directory
stream."
POSIX also defines readdir_r() as separate totally reentrant form where
the caller allocates the dirent, but this is generally deprecated as it
opens the door for an inadequate allocation causing a stack smash. Full
reentrancy is not typically necessary - having readdir()'s buffer data
be per-DIR is generally sufficient.
Mbed OS will soon be changing directory structure to the below:
```
[component name]
├── mbed_lib.json
├── CMakeList.txt
├── README.md
├── include
│ └── [component name]
│ └── internal
├── source
└── tests
├── <framework>
│ └── <test suite one>
├── UNITTESTS
│ └── <unit test suite one>
└── TESTS
└── <greentea test suite one>
```
This PR implements the above new directory structure for the current \platform directory.
**NOTE:** This PR does NOT include the refactoring of UNITTESTS as shown in the above directory structure. This will be done in a subsequent PR.