I guess I could have organized alphabetically. Still can if preferred.
Index: funcs.h =================================================================== RCS file: /cvs/src/usr.sbin/cron/funcs.h,v retrieving revision 1.28 diff -u -p -u -r1.28 funcs.h --- funcs.h 14 Nov 2015 13:09:14 -0000 1.28 +++ funcs.h 20 Mar 2016 01:43:01 -0000 @@ -19,39 +19,51 @@ /* Notes: * This file has to be included by cron.h after data structure defs. - * We should reorg this into sections by module. */ -void load_database(cron_db **), - job_add(entry *, user *), - do_command(entry *, user *), - free_user(user *), - env_free(char **), - unget_char(int, FILE *), - free_entry(entry *), - skip_comments(FILE *), - poke_daemon(unsigned char), - atrun(at_db *, double, time_t); - -int job_runqueue(void), - get_char(FILE *), - get_string(char *, int, FILE *, char *), - load_env(char *, FILE *), - cron_pclose(FILE *, pid_t), - allowed(const char *, const char *, const char *), - safe_p(const char *, const char *), - scan_atjobs(at_db **, struct timespec *); - -char *env_get(char *, char **), - *first_word(char *, char *), - **env_init(void), - **env_copy(char **), - **env_set(char **, char *); - -user *load_user(int, struct passwd *, const char *), - *find_user(cron_db *, const char *); - -entry *load_entry(FILE *, - void (*)(const char *), struct passwd *, char **); - -FILE *cron_popen(char *, char *, struct passwd *, pid_t *); +/* database.c */ +void load_database(cron_db **); +user *find_user(cron_db *, const char *); + +/* job.c */ +void job_add(entry *, user *); +int job_runqueue(void); + +/* do_command.c */ +void do_command(entry *, user *); +int safe_p(const char *, const char *); + +/* user.c */ +void free_user(user *); +user *load_user(int, struct passwd *, const char *); + +/* env.c */ +void env_free(char **); +int load_env(char *, FILE *); +char *env_get(char *, char **); +char **env_init(void); +char **env_copy(char **); +char **env_set(char **, char *); + +/* misc.c */ +void unget_char(int, FILE *); +void skip_comments(FILE *); +int get_char(FILE *); +int get_string(char *, int, FILE *, char *); +char *first_word(char *, char *); + +/* entry.c */ +void free_entry(entry *); +entry *load_entry(FILE *, + void (*)(const char *), struct passwd *, char **); +/* client.c */ +void poke_daemon(unsigned char); +int allowed(const char *, const char *, const char *); + +/* atrun.c */ +void atrun(at_db *, double, time_t); +int scan_atjobs(at_db **, struct timespec *); + +/* popen.c */ +int cron_pclose(FILE *, pid_t); +FILE *cron_popen(char *, char *, struct passwd *, pid_t *);