Which callbacks are required?

To decide which callback functions should be implemented in a module, you'll need to consider the module's purpose. In general, a device module must have the following functions:

A protocol module, in turn, must have at least the input() function (and optionally init(), parm(), and devctrl()).