From 85c841f961a18e62015988f5fafeec0632ac660a Mon Sep 17 00:00:00 2001 From: David Sterba Date: Mon, 21 Aug 2023 16:54:01 +0200 Subject: [PATCH] btrfs-progs: docs: add developer docs for internal APIs Signed-off-by: David Sterba --- Documentation/dev/dev-internal-apis.rst | 36 +++++++++++++++++++++++++ Documentation/index.rst | 1 + 2 files changed, 37 insertions(+) create mode 100644 Documentation/dev/dev-internal-apis.rst diff --git a/Documentation/dev/dev-internal-apis.rst b/Documentation/dev/dev-internal-apis.rst new file mode 100644 index 00000000..3fa39a8c --- /dev/null +++ b/Documentation/dev/dev-internal-apis.rst @@ -0,0 +1,36 @@ +Internal APIs +============= + +There's some common functionality found in many places like help, parsing +values, sorting, extensible arrays, etc. Not all places are unified and use old +code implementing it manually. Below is list of usable APIs that should be spread +and updated where it's still not. A need for new API might emerge from +cleanups, then it should appear here. + +Option parsing +-------------- + +Files: common/help.h, common/parse-utils.h + +Global options need to be processed and consumed by `clean_args_no_options`, +argument count by `check_argc_*`, `usage_*` for handling usage. + +Options are parsed by `getopt` or `getopt_long`. Individual values from options +are recognized by `parse_*`, basic types and custom types are supported. + +TODO +---- + +Undocumented or incomplete APIs: + +* common/array.h +* common/cpu-utils.h +* common/device-utils.h +* common/messages.h +* common/open-utils.h +* common/path-utils.h +* common/sort-utils.h +* common/string-table.h +* common/string-table.h +* common/task-utils.h +* common/units.h diff --git a/Documentation/index.rst b/Documentation/index.rst index a19be040..e80b1121 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -60,6 +60,7 @@ Welcome to BTRFS documentation! dev/On-disk-format dev/dev-send-stream dev/dev-json + dev/dev-internal-apis btrfs-ioctl .. toctree::