SETBIT takes the target_arg input and sets the bit specified by target_bit_arg to the value, 0 or 1, as provided by the target_value_arg argument.
The target_value_arg parameter only accepts a value of 0 or 1. If a value for target_value_arg is not specified, the default value of 1 is used.
The range of input values for target_bit_arg can vary from 0 (bit 0 is the least significant bit) to the (sizeof(target_arg) - 1).
If target_bit_arg is negative or out-of-range (meaning that it exceeds the size of target_arg), an error is returned.
If any of the input arguments is NULL, the function returns NULL.