/* * Copyright (c) 2000-2001, 2003 Sendmail, Inc. and its suppliers. * All rights reserved. * Copyright (c) 1990, 1993 * The Regents of the University of California. All rights reserved. * * This code is derived from software contributed to Berkeley by * Chris Torek. * * By using this file, you agree to the terms and conditions set * forth in the LICENSE file which can be found at the top level of * the sendmail distribution. */ #pragma ident "%Z%%M% %I% %E% SMI" #include SM_RCSID("@(#)$Id: flags.c,v 1.20.2.1 2003/09/03 18:51:56 ca Exp $") #include #include #include #include /* ** SM_FLAGS -- translate external (user) flags into internal flags ** ** Paramters: ** flags -- user select flags ** ** Returns: ** Internal flag value matching user selected flags */ int sm_flags(flags) register int flags; { register int ret; switch(SM_IO_MODE(flags)) { case SM_IO_RDONLY: /* open for reading */ ret = SMRD; break; case SM_IO_WRONLY: /* open for writing */ ret = SMWR; break; case SM_IO_APPEND: /* open for appending */ ret = SMWR; break; case SM_IO_RDWR: /* open for read and write */ ret = SMRW; break; default: ret = 0; break; } if (SM_IS_BINARY(flags)) ret |= SM_IO_BINARY; return ret; }