/* * Copyright (C) 2007-2013 Lawrence Livermore National Security, LLC. * Produced at Lawrence Livermore National Laboratory (cf, DISCLAIMER). * Written by Brian Behlendorf . * UCRL-CODE-235197 * * This file is part of the SPL, Solaris Porting Layer. * * The SPL is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * The SPL is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * for more details. * * You should have received a copy of the GNU General Public License along * with the SPL. If not, see . */ #ifndef _SPL_CALLO_H #define _SPL_CALLO_H /* * Callout flags: * * CALLOUT_FLAG_ROUNDUP * Roundup the expiration time to the next resolution boundary. * If this flag is not specified, the expiration time is rounded down. * CALLOUT_FLAG_ABSOLUTE * Normally, the expiration passed to the timeout API functions is an * expiration interval. If this flag is specified, then it is * interpreted as the expiration time itself. * CALLOUT_FLAG_HRESTIME * Normally, callouts are not affected by changes to system time * (hrestime). This flag is used to create a callout that is affected * by system time. If system time changes, these timers must be * handled in a special way (see callout.c). These are used by condition * variables and LWP timers that need this behavior. * CALLOUT_FLAG_32BIT * Legacy interfaces timeout() and realtime_timeout() pass this flag * to timeout_generic() to indicate that a 32-bit ID should be allocated. */ #define CALLOUT_FLAG_ROUNDUP 0x1 #define CALLOUT_FLAG_ABSOLUTE 0x2 #define CALLOUT_FLAG_HRESTIME 0x4 #define CALLOUT_FLAG_32BIT 0x8 #endif /* _SPL_CALLB_H */