First of all, you've got a whole list of externs near the top:

Code:
extern user_t user_list;
extern command_t command_list;
extern config_t config;
extern account_t accounts_list;
extern config_elem_t config_list;

extern int port;                     // ID of port
extern int mainSocket;               // Main socket
so those are defined in some other module. What that module is I can't say because I didn't write this code and I can't read the mind of the person(s) that did.

Second, crypt has been deprecated for some years now in Unix systems because of security issues. It is most likely unimplemented on your system.