From: ljsebald <ljs...@us...> - 2023-12-19 16:30:26
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "A pseudo Operating System for the Dreamcast.". The branch, master has been updated via b316401ae52b611dc9a646da5781019cb45ef33a (commit) from 7624991cf3910bfdb45a53d29d06961c23e3888f (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b316401ae52b611dc9a646da5781019cb45ef33a Author: Falco Girgis <gyr...@gm...> Date: Tue Dec 19 10:30:01 2023 -0600 Doxygen Topics Cleanup (#412) * Updated DoxygenLayout.xml for Doxygen v1.9.8 * LOTS clean-up for top-level Doxygen topics 1) MMU 2) ASIC 3) GD-ROM 4) Maple 5) Controller 6) Keyboard 7) Mouse 8) Modem 9) Broadband Adapter 10) PVR * Continued work on top-level Doxygen topics. * More top-level Doxygen topic cleanup * First pass at top-level doxygen Topics done! * Little cleanup for stream.h - Had a global comment that was explaining how snd_stream_filter_add(), which should've been added to the Doxygen for the function. * Top-level Doxygen Topics Pass 2 Complete - Everything looks good at the top-level now, reasonably organized - Most of the high-level topics still need descriptions and examples, though - Still have inconsistencies with some concepts getting a group versus others just being within their respective header * All of KallistiOS is PRISTINE minus Video!! Got everything 100% done and categorized by topic other than video. This is a good place to commit. * Display Doxygen topics complete, PVR still WIP. * Done with new Doxygen Topics!!! - Completed documentation for the PowerVR API, finishing up the remainder of the topics-level documentation refactor - Went back and filled in missing \brief fields for every topic or group - Fixed various random "bugs" * Documented AICA driver, missing structs + headers 1) Had to go through and document the common AICA/SH4 interface, because it's all getting indexed by Doxygen... and because it needed it. 2) Went through and documented any structures missing a \brief comment 3) Went through and documented any headers missing a \brief comment * Documentation fixes for memory.h * Fixed doxygen return values for attribution API ----------------------------------------------------------------------- Summary of changes: addons/include/ext2/fs_ext2.h | 56 +- addons/include/fat/fs_fat.h | 56 +- addons/include/kos/img.h | 32 +- addons/include/kos/netcfg.h | 46 +- addons/include/ppp/ppp.h | 117 ++-- doc/Doxyfile | 5 +- doc/pages/attribution.dox | 10 + doc/pages/audio.dox | 3 + doc/pages/debugging.dox | 6 + doc/pages/filesystem.dox | 13 + doc/pages/math.dox | 3 + doc/pages/networking.dox | 7 + doc/pages/peripherals.dox | 3 + doc/pages/system.dox | 13 + doc/pages/threading.dox | 4 + doc/pages/timing.dox | 6 + doc/pages/video.dox | 8 + include/arpa/inet.h | 14 +- include/kos/blockdev.h | 32 +- include/kos/cdefs.h | 14 +- include/kos/dbgio.h | 86 ++- include/kos/dbglog.h | 20 +- include/kos/elf.h | 80 ++- include/kos/exports.h | 11 +- include/kos/fs.h | 224 +++--- include/kos/fs_dev.h | 14 +- include/kos/fs_pty.h | 14 +- include/kos/fs_ramdisk.h | 14 +- include/kos/fs_romdisk.h | 14 +- include/kos/fs_socket.h | 52 +- include/kos/init.h | 42 +- include/kos/init_base.h | 11 +- include/kos/library.h | 14 +- include/kos/limits.h | 11 +- include/kos/net.h | 370 ++++++++-- include/kos/nmmgr.h | 45 +- include/kos/opts.h | 30 +- include/kos/recursive_lock.h | 4 +- include/kos/rwsem.h | 4 +- include/kos/sem.h | 4 +- include/kos/stdlib.h | 10 +- include/kos/string.h | 11 +- include/kos/thread.h | 36 +- include/kos/time.h | 14 +- include/libgen.h | 11 +- include/malloc.h | 14 +- include/netdb.h | 45 +- include/netinet/in.h | 130 +++- include/netinet/tcp.h | 9 +- include/netinet/udp.h | 9 +- include/netinet/udplite.h | 9 +- include/poll.h | 25 +- include/pthread.h | 2 +- include/sys/_types.h | 11 +- include/sys/dirent.h | 11 +- include/sys/lock.h | 14 +- include/sys/select.h | 6 +- include/sys/socket.h | 43 +- include/sys/uio.h | 11 +- include/sys/utsname.h | 11 +- include/threads.h | 11 +- kernel/arch/dreamcast/include/arch/arch.h | 136 ++-- kernel/arch/dreamcast/include/arch/byteorder.h | 11 +- kernel/arch/dreamcast/include/arch/cache.h | 13 +- kernel/arch/dreamcast/include/arch/exec.h | 14 +- kernel/arch/dreamcast/include/arch/gdb.h | 14 +- kernel/arch/dreamcast/include/arch/init_flags.h | 15 +- kernel/arch/dreamcast/include/arch/irq.h | 140 ++-- kernel/arch/dreamcast/include/arch/memory.h | 40 +- kernel/arch/dreamcast/include/arch/mmu.h | 145 ++-- kernel/arch/dreamcast/include/arch/rtc.h | 3 +- kernel/arch/dreamcast/include/arch/spinlock.h | 5 +- kernel/arch/dreamcast/include/arch/stack.h | 14 +- kernel/arch/dreamcast/include/arch/timer.h | 13 +- kernel/arch/dreamcast/include/arch/types.h | 11 +- kernel/arch/dreamcast/include/arch/wdt.h | 4 +- kernel/arch/dreamcast/include/dc/asic.h | 71 +- kernel/arch/dreamcast/include/dc/biosfont.h | 63 +- kernel/arch/dreamcast/include/dc/cdrom.h | 111 ++- kernel/arch/dreamcast/include/dc/dmac.h | 16 +- kernel/arch/dreamcast/include/dc/fb_console.h | 5 +- kernel/arch/dreamcast/include/dc/fifo.h | 15 +- kernel/arch/dreamcast/include/dc/flashrom.h | 73 +- kernel/arch/dreamcast/include/dc/fmath.h | 21 +- kernel/arch/dreamcast/include/dc/fmath_base.h | 22 +- kernel/arch/dreamcast/include/dc/fs_dcload.h | 15 +- kernel/arch/dreamcast/include/dc/fs_dclsocket.h | 11 +- kernel/arch/dreamcast/include/dc/fs_iso9660.h | 11 +- kernel/arch/dreamcast/include/dc/fs_vmu.h | 15 +- kernel/arch/dreamcast/include/dc/g1ata.h | 74 +- kernel/arch/dreamcast/include/dc/g2bus.h | 14 +- kernel/arch/dreamcast/include/dc/maple.h | 232 +++++-- .../arch/dreamcast/include/dc/maple/controller.h | 2 +- kernel/arch/dreamcast/include/dc/maple/dreameye.h | 14 +- kernel/arch/dreamcast/include/dc/maple/keyboard.h | 59 +- kernel/arch/dreamcast/include/dc/maple/lightgun.h | 14 +- kernel/arch/dreamcast/include/dc/maple/mouse.h | 24 +- kernel/arch/dreamcast/include/dc/maple/purupuru.h | 14 +- kernel/arch/dreamcast/include/dc/maple/sip.h | 14 +- kernel/arch/dreamcast/include/dc/maple/vmu.h | 1 + kernel/arch/dreamcast/include/dc/math.h | 19 +- kernel/arch/dreamcast/include/dc/matrix.h | 16 +- kernel/arch/dreamcast/include/dc/matrix3d.h | 11 +- kernel/arch/dreamcast/include/dc/minifont.h | 17 +- kernel/arch/dreamcast/include/dc/modem/mconst.h | 31 +- kernel/arch/dreamcast/include/dc/modem/modem.h | 89 ++- .../dreamcast/include/dc/net/broadband_adapter.h | 64 +- kernel/arch/dreamcast/include/dc/net/lan_adapter.h | 10 +- kernel/arch/dreamcast/include/dc/pvr.h | 752 +++++++++++++++------ kernel/arch/dreamcast/include/dc/scif.h | 14 +- kernel/arch/dreamcast/include/dc/sd.h | 32 +- kernel/arch/dreamcast/include/dc/sound/aica_comm.h | 183 +++-- kernel/arch/dreamcast/include/dc/sound/sfxmgr.h | 14 +- kernel/arch/dreamcast/include/dc/sound/sound.h | 15 +- kernel/arch/dreamcast/include/dc/sound/stream.h | 26 +- kernel/arch/dreamcast/include/dc/spu.h | 11 +- kernel/arch/dreamcast/include/dc/sq.h | 3 +- kernel/arch/dreamcast/include/dc/ubc.h | 14 +- kernel/arch/dreamcast/include/dc/vblank.h | 18 +- kernel/arch/dreamcast/include/dc/vec3f.h | 14 +- kernel/arch/dreamcast/include/dc/vector.h | 11 +- kernel/arch/dreamcast/include/dc/video.h | 154 ++++- kernel/arch/dreamcast/include/dc/vmu_fb.h | 5 +- kernel/arch/dreamcast/include/dc/vmu_pkg.h | 30 +- kernel/arch/dreamcast/include/dc/vmufs.h | 11 +- 125 files changed, 3664 insertions(+), 1344 deletions(-) create mode 100644 doc/pages/attribution.dox create mode 100644 doc/pages/audio.dox create mode 100644 doc/pages/debugging.dox create mode 100644 doc/pages/filesystem.dox create mode 100644 doc/pages/math.dox create mode 100644 doc/pages/networking.dox create mode 100644 doc/pages/peripherals.dox create mode 100644 doc/pages/system.dox create mode 100644 doc/pages/timing.dox create mode 100644 doc/pages/video.dox diff --git a/addons/include/ext2/fs_ext2.h b/addons/include/ext2/fs_ext2.h index 39932aa..715f9ab 100644 --- a/addons/include/ext2/fs_ext2.h +++ b/addons/include/ext2/fs_ext2.h @@ -4,17 +4,9 @@ Copyright (C) 2012, 2013 Lawrence Sebald */ -#ifndef __EXT2_FS_EXT2_H -#define __EXT2_FS_EXT2_H - -#include <sys/cdefs.h> -__BEGIN_DECLS - -#include <stdint.h> -#include <kos/blockdev.h> - -/** \file ext2/fs_ext2.h - \brief VFS interface for an ext2 filesystem. +/** \file ext2/fs_ext2.h + \brief VFS interface for an ext2 filesystem. + \ingroup vfs_ext2 This file defines the public interface to add support for the Second Extended Filesystem (ext2) to KOS' VFS. ext2 is one of the many filesystems @@ -51,7 +43,22 @@ __BEGIN_DECLS \author Lawrence Sebald */ -/** \brief Initialize fs_ext2. +#ifndef __EXT2_FS_EXT2_H +#define __EXT2_FS_EXT2_H + +#include <sys/cdefs.h> +__BEGIN_DECLS + +#include <stdint.h> +#include <kos/blockdev.h> + +/** \defgroup vfs_ext2 EXT2 + \brief KOS VFS support for the Second Extended Filesystem + \ingroup vfs_drivers +*/ + +/** \brief Initialize fs_ext2. + \ingroup vfs_ext2 This function initializes fs_ext2, preparing various internal structures for use. @@ -60,7 +67,8 @@ __BEGIN_DECLS */ int fs_ext2_init(void); -/** \brief Shut down fs_ext2. +/** \brief Shut down fs_ext2. + \ingroup vfs_ext2 This function shuts down fs_ext2, basically undoing what fs_ext2_init() did. @@ -68,7 +76,9 @@ int fs_ext2_init(void); */ int fs_ext2_shutdown(void); -/** \defgroup ext2_mount_flags Mount flags for fs_ext2 +/** \defgroup ext2_mount_flags Mount Flags + \brief Mount flags for fs_ext2 + \ingroup vfs_ext2 These values are the valid flags that can be passed for the flags parameter to the fs_ext2_mount() function. Note that these can be combined, except for @@ -88,7 +98,8 @@ int fs_ext2_shutdown(void); #define FS_EXT2_MOUNT_READWRITE 0x00000001 /**< \brief Mount read-write */ /** @} */ -/** \brief Mount an ext2 filesystem in the VFS. +/** \brief Mount an ext2 filesystem in the VFS. + \ingroup vfs_ext2 This function mounts an ext2 filesystem to the specified mount point on the VFS. This function will detect whether or not an ext2 filesystem exists on @@ -98,24 +109,28 @@ int fs_ext2_shutdown(void); \param mp The path to mount the filesystem at. \param dev The block device containing the filesystem. \param flags Mount flags. Bitwise OR of values from ext2_mount_flags + \retval 0 On success. \retval -1 On error. */ int fs_ext2_mount(const char *mp, kos_blockdev_t *dev, uint32_t flags); -/** \brief Unmount an ext2 filesystem from the VFS. +/** \brief Unmount an ext2 filesystem from the VFS. + \ingroup vfs_ext2 This function unmoutns an ext2 filesystem that was previously mounted by the fs_ext2_mount() function. \param mp The mount point of the filesystem to be unmounted. + \retval 0 On success. \retval -1 On error. */ int fs_ext2_unmount(const char *mp); -/** \brief Sync an ext2 filesystem, flushing all pending writes to the block - device. +/** \brief Sync an ext2 filesystem, flushing all pending writes to the block + device. + \ingroup vfs_ext2 This function completes all pending writes on the filesystem, making sure all data and metadata are in a consistent state on the block device. As both @@ -124,11 +139,12 @@ int fs_ext2_unmount(const char *mp); be a good idea if there is a chance that the filesystem will not be unmounted cleanly. + \note This function has no effect if the filesystem was mounted read-only. + \param mp The mount point of the filesystem to be synced. + \retval 0 On success. \retval -1 On error. - - \note This function has no effect if the filesystem was mounted read-only. */ int fs_ext2_sync(const char *mp); diff --git a/addons/include/fat/fs_fat.h b/addons/include/fat/fs_fat.h index e4b515c..f346526 100644 --- a/addons/include/fat/fs_fat.h +++ b/addons/include/fat/fs_fat.h @@ -4,17 +4,9 @@ Copyright (C) 2012, 2013, 2019 Lawrence Sebald */ -#ifndef __FAT_FS_FAT_H -#define __FAT_FS_FAT_H - -#include <sys/cdefs.h> -__BEGIN_DECLS - -#include <stdint.h> -#include <kos/blockdev.h> - -/** \file fat/fs_fat.h - \brief VFS interface for a FAT filesystem. +/** \file fat/fs_fat.h + \brief VFS interface for a FAT filesystem. + \ingroup vfs_fat This file defines the public interface to add support for the FAT filesystem, as in common use on all kinds of systems and popularized by @@ -34,7 +26,22 @@ __BEGIN_DECLS \author Lawrence Sebald */ -/** \brief Initialize fs_fat. +#ifndef __FAT_FS_FAT_H +#define __FAT_FS_FAT_H + +#include <sys/cdefs.h> +__BEGIN_DECLS + +#include <stdint.h> +#include <kos/blockdev.h> + +/** \defgroup vfs_fat FAT + \brief FAT 12, 16, and 32-bit support for KOS's VFS + \ingroup vfs_drivers +*/ + +/** \brief Initialize fs_fat. + \ingroup vfs_fat This function initializes fs_fat, preparing various internal structures for use. @@ -43,7 +50,8 @@ __BEGIN_DECLS */ int fs_fat_init(void); -/** \brief Shut down fs_fat. +/** \brief Shut down fs_fat. + \ingroup vfs_fat This function shuts down fs_fat, basically undoing what fs_fat_init() did. @@ -51,7 +59,9 @@ int fs_fat_init(void); */ int fs_fat_shutdown(void); -/** \defgroup fat_mount_flags Mount flags for fs_fat +/** \defgroup fat_mount_flags Mount Flags + \brief Mount flags for fs_fat + \ingroup vfs_fat These values are the valid flags that can be passed for the flags parameter to the fs_fat_mount() function. Note that these can be combined, except for @@ -71,7 +81,8 @@ int fs_fat_shutdown(void); #define FS_FAT_MOUNT_READWRITE 0x00000001 /**< \brief Mount read-write */ /** @} */ -/** \brief Mount a FAT filesystem in the VFS. +/** \brief Mount a FAT filesystem in the VFS. + \ingroup vfs_fat This function mounts an fat filesystem to the specified mount point on the VFS. This function will detect whether or not an FAT filesystem exists on @@ -81,24 +92,28 @@ int fs_fat_shutdown(void); \param mp The path to mount the filesystem at. \param dev The block device containing the filesystem. \param flags Mount flags. Bitwise OR of values from fat_mount_flags + \retval 0 On success. \retval -1 On error. */ int fs_fat_mount(const char *mp, kos_blockdev_t *dev, uint32_t flags); -/** \brief Unmount a FAT filesystem from the VFS. +/** \brief Unmount a FAT filesystem from the VFS. + \ingroup vfs_fat This function unmoutns an FAT filesystem that was previously mounted by the fs_fat_mount() function. \param mp The mount point of the filesystem to be unmounted. + \retval 0 On success. \retval -1 On error. */ int fs_fat_unmount(const char *mp); -/** \brief Sync a FAT filesystem, flushing all pending writes to the block - device. +/** \brief Sync a FAT filesystem, flushing all pending writes to the block + device. + \ingroup vfs_fat This function completes all pending writes on the filesystem, making sure all data and metadata are in a consistent state on the block device. As both @@ -107,11 +122,12 @@ int fs_fat_unmount(const char *mp); be a good idea if there is a chance that the filesystem will not be unmounted cleanly. + \note This function has no effect if the filesystem was mounted read-only. + \param mp The mount point of the filesystem to be synced. + \retval 0 On success. \retval -1 On error. - - \note This function has no effect if the filesystem was mounted read-only. */ int fs_fat_sync(const char *mp); diff --git a/addons/include/kos/img.h b/addons/include/kos/img.h index c3a39b8..ea13cbc 100644 --- a/addons/include/kos/img.h +++ b/addons/include/kos/img.h @@ -8,8 +8,9 @@ #ifndef __KOS_IMG_H #define __KOS_IMG_H -/** \file kos/img.h - \brief Platform-independent image type. +/** \file kos/img.h + \brief Platform-independent image type. + \ingroup video_img This file provides a platform-independent image type that is designed to hold any sort of textures or other image data. This type contains a very @@ -27,7 +28,13 @@ __BEGIN_DECLS #include <arch/types.h> -/** \brief Platform-indpendent image type. +/** \defgroup video_img Images + \brief Platform-independent image representation + \ingroup video +*/ + +/** \brief Platform-indpendent image type. + \ingroup video_img You can use this type for textures or whatever you feel it's appropriate for. "width" and "height" are as you would expect. "format" has a lower-half @@ -51,7 +58,14 @@ typedef struct kos_img { uint32 byte_count; /**< \brief Length of the image data, in bytes. */ } kos_img_t; -/** \defgroup kos_img_fmt_macros Macros for accessing the format of an image +/** \defgroup video_img_fmt Format + \brief Video image formats + \ingroup video_img +*/ + +/** \defgroup kos_img_fmt_macros Accessors + \brief Macros for accessing kos_image_t::fmt + \ingroup video_img_fmt These macros provide easy access to the fmt field of a kos_img_t object. @@ -63,6 +77,7 @@ typedef struct kos_img { of the value, which contains the platform-independent half of the format. \param x An image format (fmt field of a kos_img_t). + \return The platform-independent half of the format. */ #define KOS_IMG_FMT_I(x) ((x) & 0xffff) @@ -73,6 +88,7 @@ typedef struct kos_img { of the value, which contains the platform-specific half of the format. \param x An image format (fmt field of a kos_img_t). + \return The platform-specific half of the format. */ #define KOS_IMG_FMT_D(x) (((x) >> 16) & 0xffff) @@ -87,6 +103,7 @@ typedef struct kos_img { \param i The platform-independent half of the format. \param d The platform-specific half of the format. This should not be pre-shifted. + \return A complete image format value, suitable for placing in the fmt variable of a kos_img_t. */ @@ -94,7 +111,9 @@ typedef struct kos_img { /** @} */ -/** \defgroup kos_img_fmts Image format types +/** \defgroup kos_img_fmts Types + \brief Video image format types + \ingroup video_img_fmt This is the list of platform-independent image types that can be used as the lower-half of the fmt value for a kos_img_t. @@ -153,7 +172,8 @@ typedef struct kos_img { /** @} */ -/** \brief Free a kos_img_t object. +/** \brief Free a kos_img_t object. + \ingroup video_img This function frees the data in a kos_img_t object, returning any memory to the heap as appropriate. Optionally, this can also free the object itself, diff --git a/addons/include/kos/netcfg.h b/addons/include/kos/netcfg.h index de77b1c..3348b16 100644 --- a/addons/include/kos/netcfg.h +++ b/addons/include/kos/netcfg.h @@ -8,8 +8,9 @@ #ifndef __KOS_NETCFG_H #define __KOS_NETCFG_H -/** \file kos/netcfg.h - \brief Network configuration interface. +/** \file kos/netcfg.h + \brief Network configuration interface. + \ingroup netcfg This file provides a common interface for reading and writing the network configuration on KOS. The interface can read from the flashrom on the @@ -27,7 +28,14 @@ __BEGIN_DECLS #include <arch/types.h> -/** \defgroup netcfg_methods Network connection methods +/** \defgroup netcfg Configuration + \brief KOS Network Configuration Management + \ingroup networking +*/ + +/** \defgroup netcfg_methods Methods + \brief Network connection methods + \ingroup netcfg ...<truncated>... hooks/post-receive -- A pseudo Operating System for the Dreamcast. |