libk  Diff

Differences From Artifact [f5443bdd6c]:

To Artifact [9f749c2fa4]:


    39     39   
    40     40   in the **short** convention, identifiers are prefixed by the letter `k` followed by the module's "glyph" -- a one- or two-letter sequence that represents the module, usually the first one or two characters. therefore, `kfile/open.c` is invoked as `kfopen`.
    41     41   
    42     42   which naming convention a module uses should be specified at the top of its documentation. if it uses the short convention, its glyph should be specified as well
    43     43   
    44     44   in both naming conventions, the following rules apply:
    45     45   
    46         - 1. the possible values of enumeration types are always preceded by the name of the enumeration type and an underscore. for instance, the enum `kschain_kind` has a value named `kschain_kind_block`. **exception:** an enum named `<S>_kind`, where `<S>` is a struct type, may simply use the prefix `<S>_`.
           46  + 1. the possible values of enumeration types are always preceded by the name of the enumeration type and an underscore. for instance, the enum `ksalloc` has a value named `ksalloc_static`. **exception:** an enum named `<S>_kind`, where `<S>` is a struct type, may simply use the prefix `<S>_`.
    47     47    2. macros begin with the uppercase letter `K` -- e.g. `Kmacro`. macros that can be defined by the user to alter the behavior of the api should begin with `KF` if they are on/off flags, or `KV` otherwise.
    48     48    3. capital letters are only used in macro prefixes.
    49     49    4. low-level function names are prefixed with the API they call into. for example, the function that performs the POSIX syscall `write` is named `kio_posix_fd_write`.a wrapper around the Windows function `CreateProcess()` might be called `kproc_win_createprocess`.
    50     50   
    51     51   ### atoms
    52     52   
    53     53   libk uses the concept of "atoms" (small, regular strings of text) to standardize common references, such as operating systems or processor architectures.