# libtasn1 -- Information about our contribution rules and coding style

Unless otherwise stated or implied the [GnuTLS contribution rules apply](https://gitlab.com/gnutls/gnutls/blob/master/CONTRIBUTING.md).

The following sections document any differences that apply:

# Function names

All the function names use underscore `_`, to separate words, functions like
asn1DoThat are not used. The exported function names start with the
`asn1_` prefix.
