AI-Clang Coding Style Preferences Version 1.0 C language coding style preferences ANSI C (C89/C90) preferred; may be overridden 1) No heap allocation in core logic (scope and creation limited to individual subroutines) 2) malloc/free permitted only in individual subroutines, which must either provide reallocation before exit or a mechanism to reallocate through a documented function call. 3)Ownership must be explicit at call boundaries 4)One action per function with emphasis on minimal size. 5)Rule 4 does not apply to documentation which shall be the minimum size to fully describe function inputs, outputs and expected operation. 6)Default function declarations SHALL return an int error code: -1 FAIL +1 PASS Other integer values are permitted only if described in an accompanying documented enumeration. 7) Other data return mechanisms are acceptable if explicitly documented in the code body. 8)No unadvertised states unless declared in comments or header files. 9)Indentation will be block style with the opening brace on its own line, directly below the function call or other declaration, and the closing brace directly below the opening brace on its own line. 10)Function names will have no spaces between the function name and opening parenthesis. 11)A function's only exit code will be the last line that generates code in the function. 12)Goto is fully deprecated.