> ## Name

> cgSetStateCallbacks - registers the callback functions for a state assignment

> ## Synopsis

>     #include <Cg/cg.h>

>     void cgSetStateCallbacks( CGstate state,
>                               CGstatecallback set,
>                               CGstatecallback reset,
>                               CGstatecallback validate );

> ## Parameters

> state
>   The state handle.
> set
>   The pointer to the callback function to call for setting the state of state assignments based on state. This may be a NULL pointer.
> reset
>   The pointer to the callback function to call for resetting the state of state assignments based on state. This may be a NULL pointer.
> validate
>   The pointer to the callback function to call for validating the state of state assignments based on state. This may be a NULL pointer.

> ## Return Values

> None.

> ## Description

> cgSetStateCallbacks sets the three callback functions for a state definition. These functions are later called when the state a particular state assignment based on this state must be set, reset, or validated. Any of the callback functions may be specified as NULL.

> ## Examples

> to-be-written

> ## Errors

> CG_INVALID_STATE_HANDLE_ERROR is generated if state is not a valid state.

> ## History

> cgSetStateCallbacks was introduced in Cg 1.4.

> ## See Also

> cgSetPassState, cgCallStateSetCallback, cgCallStateResetCallback, cgCallStateValidateCallback, cgValidateTechnique