+++ /dev/null
-The discussion about coding style on the net-snmp-coders mailing list
-can be found at the following web address:
- http://www.geocrawler.com/mail/thread.php3?subject=design+proposal+-+coding+style&list=6845
-
-----------------------------------------------------------------------
-Indentation:
-
-We've adopted the following indent style:
-
- indent -orig -nbc -bap -nut -nfca -T netsnmp_mib_handler -T netsnmp_handler_registration -T netsnmp_delegated_cache -T netsnmp_mib_handler_methods -T netsnmp_old_api_info -T netsnmp_old_api_cache -T netsnmp_set_info -T netsnmp_request_info -T netsnmp_set_info -T netsnmp_tree_cache -T netsnmp_agent_request_info -T netsnmp_cachemap -T netsnmp_agent_session -T netsnmp_array_group_item -T netsnmp_array_group -T netsnmp_table_array_callbacks -T netsnmp_table_row -T netsnmp_table_data -T netsnmp_table_data_set_storage -T netsnmp_table_data_set -T netsnmp_column_info -T netsnmp_table_registration_info -T netsnmp_table_request_info -T netsnmp_iterator_info -T netsnmp_data_list -T netsnmp_oid_array_header -T netsnmp_oid_array_header_wrapper -T netsnmp_oid_stash_node -T netsnmp_pdu -T netsnmp_request_list -T netsnmp_callback_pass -T netsnmp_callback_info -T netsnmp_transport -T netsnmp_transport_list -T netsnmp_tdomain
-
-[wow, what an annoying list! The above -T list can be (re)generated by
-running:
- perl -n -e 'print "-T $1 " if (/}\s*(netsnmp_\w+)\s*;/);' */*.h
-in the include/net-snmp directory]
-
-If possible, please run all new code submitted to the project through
-the above command. However, if sending a patch, please do *not* send
-a patch that reformats the entire file. Just the new sections of code
-should be in the above style to make it easier for us to dissect what
-you did in your patch.
-
-Briefly, here's a description of the style:
-
- Blank lines:
- after procedures
- not (forced) after blocks of declarations or block comments
- multiple declarations not split onto separate lines
-
- Comments:
- Block comments indented 4 spaces from surrounding code
- Start/End on separate lines
- Solid '*' on the left of block comments
- "One-line" comments start in column 33
-
- Bracing/Indent/etc:
- K&R-style bracing (including "cuddle-else")
- 'case' statements in line with 'switch'
- No space between procedure name and opening parenthesis
- variable declarations lined up, and start in column 16
- Procedure return type on a separate line to the procedure name
- Four character basic and continuation line indent
- No tabs used in the file, always use 8 spaces instead.
- Continuation paramters lined up with opening parenthesis
-
-----------------------------------------------------------------------
-Function names and Variable names:
-
-should_be_like_this and notLikeThis
-
-----------------------------------------------------------------------
-Structures:
-
-We have decided to typedef all structures into names using the
-following convention:
-
-typedef struct netsnmp_wombat_s {
- int something_cool;
-} netsnmp_wombat;
-
-The important things to note here are that the struct name ends in a
-"_s", the typedef name doesn't end in "_t", and the typedef is not to a
-pointer and everything begins with "netsnmp_".
-