/** 'hal_link()' links a pin to a signal. 'pin_name' and 'sig_name' are strings containing the pin and signal names. If the pin is already linked to a signal, the original connection is unchanged. If the original signal is the same as the desired one, the command returns success, otherwise it returns failure. (Use 'hal_unlink' if you need to change an existing connection.) If the signal already has other pins linked to it, they are unaffected - one signal can be linked to many pins, but a pin can be linked to only one signal. On success, hal_link() returns HAL_SUCCESS, on failure it returns a negative error code. */ extern int hal_link(char *pin_name, char *sig_name); /** 'hal_unlink()' unlinks any signal that is connected to a pin. 'pin_name' is a string containing the pin name. If the pin is not linked to any signal, the hal_unlink() returns succcess. On success, hal_unlink() returns HAL_SUCCESS, on failure it returns a negative error code. */ extern int hal_unlink(char *pin_name);