In order to avoid non-bonded interactions between bonded pairs, exclusions can be added with engine_exclusion_add. Once all exclusions have been added, engine_exclusions_shrink is called to avoid duplicates.
To see how this is used in detail, see the "jac" and "apoa1" examples.