1*2e6cac80Smillert /* $OpenBSD: funcs.h,v 1.30 2020/04/16 17:51:56 millert Exp $ */ 2f454ebdeSmillert 3f454ebdeSmillert /* 4a5198fa1Smillert * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC") 5f454ebdeSmillert * Copyright (c) 1997,2000 by Internet Software Consortium, Inc. 6f454ebdeSmillert * 7f454ebdeSmillert * Permission to use, copy, modify, and distribute this software for any 8f454ebdeSmillert * purpose with or without fee is hereby granted, provided that the above 9f454ebdeSmillert * copyright notice and this permission notice appear in all copies. 10f454ebdeSmillert * 11a5198fa1Smillert * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES 12a5198fa1Smillert * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13a5198fa1Smillert * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR 14a5198fa1Smillert * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15a5198fa1Smillert * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16a5198fa1Smillert * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT 17a5198fa1Smillert * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18f454ebdeSmillert */ 19f454ebdeSmillert 20f454ebdeSmillert /* Notes: 21f454ebdeSmillert * This file has to be included by cron.h after data structure defs. 22f454ebdeSmillert * We should reorg this into sections by module. 23f454ebdeSmillert */ 24f454ebdeSmillert 2588959323Smillert void load_database(cron_db **), 26f454ebdeSmillert job_add(entry *, user *), 27*2e6cac80Smillert job_remove(entry *, user *), 28*2e6cac80Smillert job_exit(pid_t), 29f454ebdeSmillert free_user(user *), 30f454ebdeSmillert env_free(char **), 31f454ebdeSmillert unget_char(int, FILE *), 32f454ebdeSmillert free_entry(entry *), 33f454ebdeSmillert skip_comments(FILE *), 3488959323Smillert poke_daemon(unsigned char), 352b139a93Smillert atrun(at_db *, double, time_t); 36f454ebdeSmillert 37*2e6cac80Smillert pid_t do_command(entry *, user *); 38*2e6cac80Smillert 39f454ebdeSmillert int job_runqueue(void), 40f454ebdeSmillert get_char(FILE *), 41f454ebdeSmillert get_string(char *, int, FILE *, char *), 42f454ebdeSmillert load_env(char *, FILE *), 4394b4a649Stedu cron_pclose(FILE *, pid_t), 44832db9d2Smillert allowed(const char *, const char *, const char *), 452b139a93Smillert safe_p(const char *, const char *), 468a6f8ff3Smillert scan_atjobs(at_db **, struct timespec *); 47f454ebdeSmillert 48f454ebdeSmillert char *env_get(char *, char **), 49f454ebdeSmillert *first_word(char *, char *), 50f454ebdeSmillert **env_init(void), 51f454ebdeSmillert **env_copy(char **), 52f454ebdeSmillert **env_set(char **, char *); 53f454ebdeSmillert 5448565214Smillert user *load_user(FILE *, struct passwd *, const char *), 55f454ebdeSmillert *find_user(cron_db *, const char *); 56f454ebdeSmillert 57c3345ffbSmillert entry *load_entry(FILE *, 58c3345ffbSmillert void (*)(const char *), struct passwd *, char **); 59f454ebdeSmillert 6094b4a649Stedu FILE *cron_popen(char *, char *, struct passwd *, pid_t *); 61