L'header soma.h descrive 5 funzioni che un modulo deve contenere per essere compatibile con somad. Queste funzioni sono:
char * module_run(soma_pl *, int);deve ritornare qualcosa di buono per un player. Sarà poi soma a selezionare il player opportuno.
int module_web(soma_pl *, int);Deve ritornare se quello che tornerà sarà un file o uno streaming.
int module_quit(soma_pl *);Chiusura del modulo
char *module_name(void);Deve ritornare il nome del modulo
int module_time_stop(somapl *, int);Deve ritornare un numero che è la durata massima della sorgente sonora.
L'argomento soma_pl * passato e' una struttura che ricalca a pieno la codifica del palinsesto che ha richiamto il modulo, mentre int è il tempo espresso con la sintassi solita.