/* 
   Unix SMB/Netbios implementation.
   Version 1.9.
   Copyright (C) Andrew Tridgell 1994-1997

   This file is part of the port to OpenVMS
   VMS specific definitions, part 1
   Copyright (C) Eckart Meyer 1996-1997
   
   This program 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.
   
   This program 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 this program; if not, write to the Free Software
   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
/*	vms1.h
 *
 * Definitions
 */

#define NO_RESOURCEH
#define NO_SYSMOUNTH
#define HAVE_FCNTL_LOCK 0	/* fcntl() not yet implemented */
#define SIGCLD_IGNORE
#define NO_SIGNAL_TEST

#define const
#include "posixtim.h"
/*
 * RTL routines not present or not present in all DECC/VAXC implementation.
 * We use our own routines then.
 * To prevent DECC from prefixing those routines which *are* implemented
 * meanwhile with DECC$ we give them our own prefix.
 * Especially VMS V7 has much more routines built in. For compatibility
 * reasons we'll not use them currently.
 */
#define setuid vms_setuid
#define getuid vms_getuid
#define getcwd vms_getcwd
#define delete vms_delete
#define rename vms_rename
#define mkdir vms_mkdir
#define ftruncate vms_ftruncate
#define getpwuid vms_getpwuid
#define getpwnam vms_getpwnam
#define getpwent vms_getpwent
#define setpwent vms_setpwent
#define endpwent vms_endpwent
#define getlogin vms_getlogin
#define opendir vms_opendir
#define closedir vms_closedir
#define readdir vms_readdir
#define rewinddir vms_rewinddir
#define strdup vms_strdup
#define getopt vms_getopt
#define rmdir vms_rmdir
#define getgrnam vms_getgrnam
#define getgrgid vms_getgrgid
#define getgroups vms_getgroups
#define getgrent vms_getgrent
#define statfs vms_statfs
#define setgroups vms_setgroups
#define initgroups vms_initgroups
#define waitpid vms_waitpid
#define fcntl vms_fcntl
#define optarg vms_optarg
#define optind vms_optind
#define optopt vms_optopt
#define opterr vms_opterr
#if 0
#define tzname vms_tzname
#define daylight vms_daylight
#define timezone vms_timezone
#endif
#define unlink delete
/*
 * For the following we must use our own implementation regardless
 * of RTL-Support, since we add some functionality.
 */
#define system vms_system
#define open stm_open
#define close stm_close
#define read stm_read
#define lseek stm_lseek

/*
 * Since the VMS linker converts symbols to uppercase, we need
 * to redefine samba's own definitions
 */

#define OpenDir samba_opendir
#define CloseDir samba_closedir
#define TellDir samba_telldir
#define SeekDir samba_seekdir
#define ReadDirName readdirname2
#define StrCpy samba_strcpy
#define StrnCpy samba_strncpy
#define StrCaseCmp samba_strcasecmp
#define StrnCaseCmp samba_strncasecmp
#define Abort samba_abort
#define Realloc samba_realloc
#define MemMove samba_memmove
#define ChDir samba_chdir
#define LocalTime samba_localtime
#define GetTimeOfDay samba_gettimeofday
#define TimeLocal samba_timelocal
#define TimeZone samba_timezone

/*
 * Call stat.h here, since we use our local modified version here for
 * a changed ino_t typedef.
 * So must be called before types.h (which also defines ino_t).
 *
 * Then include what's missing in DEC-C. Should also be called before
 * types.h
 */
#include <stat.h>
#include "incl.h"
