]> sigrok.org Git - libsigrok.git/blobdiff - HACKING
Initial driver for IKALOGIC Scanalogic-2
[libsigrok.git] / HACKING
diff --git a/HACKING b/HACKING
index 9c422a328bce348a1832b9223ea838a85d94cb4d..cf407c985d95fa3c4b8ef0992a8da1a7af99d39a 100644 (file)
--- a/HACKING
+++ b/HACKING
@@ -115,6 +115,18 @@ Random notes
    should end with "_all", e.g. "_remove_all", "_get_all", and so on.
    Use "_remove_all" in favor of "_clear" for consistency.
 
+ - All enums should generally use an explicit start number of 10000.
+   If there are multiple "categories" in the enum entries, each category
+   should be 10000 entries apart from the next one. The start of categories
+   are thus 10000, 20000, 30000, and so on.
+
+   Adding items to an enum MUST always append to a "category", never add
+   items in the middle of a category. The order of items MUST NOT be changed.
+   Any of the above would break the ABI.
+
+   The enum item 0 is special and is used as terminator in some lists, thus
+   enums should not use this for "valid" entries (and start at 10000 instead).
+
 
 Doxygen
 -------
@@ -131,6 +143,30 @@ Doxygen
    /** @endcond */, so that Doxygen doesn't include them in the output.
    Variables that are "static" don't need to be marked like this.
 
+ - Mark all public API functions (SR_API) with a @since tag which indicates
+   in which release the respective function was added. If the function has
+   existed before, but its API changed later, document this as well.
+
+   Non-public functions (static ones, and those marked SR_PRIV) don't need
+   to have @since markers.
+
+   The @since tag should be the last one, i.e. it should come after @param,
+   @return, @see, and so on.
+
+   Examples:
+
+     @since 0.1.0
+
+     @since 0.1.1 (but the API changed in 0.2.0)
+
+
+Testsuite
+---------
+
+You can run the libsigrok testsuite using:
+
+ $ make check
+
 
 Release engineering
 -------------------