1*eda09dd8Smillert /* $OpenBSD: macros.h,v 1.16 2023/05/06 23:06:27 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 20fa575ea2Smillert #define CRON_VERSION "V5.0" 21fa575ea2Smillert 22f454ebdeSmillert #define TRUE 1 23f454ebdeSmillert #define FALSE 0 24f454ebdeSmillert 25f454ebdeSmillert #define READ_PIPE 0 /* which end of a pipe pair do you read? */ 26f454ebdeSmillert #define WRITE_PIPE 1 /* or write to? */ 27f454ebdeSmillert #define MAX_COMMAND 1000 /* max length of internally generated cmd */ 28f454ebdeSmillert #define MAX_ENVSTR 1000 /* max length of envvar=value\0 strings */ 29f454ebdeSmillert #define MAX_TEMPSTR 100 /* obvious */ 30f454ebdeSmillert #define MAX_UNAME (_PW_NAME_LEN+1) /* max length of username, should be overkill */ 31f454ebdeSmillert 32*eda09dd8Smillert #define MINIMUM(a, b) (((a) < (b)) ? (a) : (b)) 33*eda09dd8Smillert 34f454ebdeSmillert #define Skip_Blanks(c, f) \ 35f454ebdeSmillert while (c == '\t' || c == ' ') \ 36f454ebdeSmillert c = get_char(f); 37f454ebdeSmillert 38f454ebdeSmillert #define Skip_Nonblanks(c, f) \ 39f454ebdeSmillert while (c!='\t' && c!=' ' && c!='\n' && c != EOF) \ 40f454ebdeSmillert c = get_char(f); 41f454ebdeSmillert 42585d9be6Stedu #define Set_LineNum(ln) { LineNumber = ln; } 43f454ebdeSmillert 442b139a93Smillert /* Data values used on cron socket */ 452b139a93Smillert #define RELOAD_CRON 0x2 462b139a93Smillert #define RELOAD_AT 0x4 472b139a93Smillert 48e134e629Smillert #define get_gmtoff(c, t) ((t)->tm_gmtoff) 4940616ceaSmillert 50f454ebdeSmillert #define SECONDS_PER_MINUTE 60 51f454ebdeSmillert 52f454ebdeSmillert #define FIRST_MINUTE 0 53f454ebdeSmillert #define LAST_MINUTE 59 54f454ebdeSmillert #define MINUTE_COUNT (LAST_MINUTE - FIRST_MINUTE + 1) 55f454ebdeSmillert 56f454ebdeSmillert #define FIRST_HOUR 0 57f454ebdeSmillert #define LAST_HOUR 23 58f454ebdeSmillert #define HOUR_COUNT (LAST_HOUR - FIRST_HOUR + 1) 59f454ebdeSmillert 60f454ebdeSmillert #define FIRST_DOM 1 61f454ebdeSmillert #define LAST_DOM 31 62f454ebdeSmillert #define DOM_COUNT (LAST_DOM - FIRST_DOM + 1) 63f454ebdeSmillert 64f454ebdeSmillert #define FIRST_MONTH 1 65f454ebdeSmillert #define LAST_MONTH 12 66f454ebdeSmillert #define MONTH_COUNT (LAST_MONTH - FIRST_MONTH + 1) 67f454ebdeSmillert 68f454ebdeSmillert /* note on DOW: 0 and 7 are both Sunday, for compatibility reasons. */ 69f454ebdeSmillert #define FIRST_DOW 0 70f454ebdeSmillert #define LAST_DOW 7 71f454ebdeSmillert #define DOW_COUNT (LAST_DOW - FIRST_DOW + 1) 72