1 /* ======================================================================== 2 * Copyright 1988-2006 University of Washington 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * 11 * ======================================================================== 12 */ 13 14 /* 15 * Program: Operating-system dependent routines -- SCO Unix version 16 * 17 * Author: Mark Crispin 18 * Networks and Distributed Computing 19 * Computing & Communications 20 * University of Washington 21 * Administration Building, AG-44 22 * Seattle, WA 98195 23 * Internet: MRC@CAC.Washington.EDU 24 * 25 * Date: 1 August 1988 26 * Last Edited: 20 December 2006 27 */ 28 29 #include <stdlib.h> 30 #include <string.h> 31 #include <sys/types.h> 32 #include <sys/dir.h> 33 #include <fcntl.h> 34 #include <unistd.h> 35 #include <time.h> 36 #include <utime.h> 37 #include <dirent.h> 38 #include <syslog.h> 39 #include <sys/file.h> 40 #include <ustat.h> 41 42 /* SCO gets this wrong */ 43 44 #define setpgrp Setpgrp 45 int Setpgrp (int pid,int gid); 46 47 #define rename Rename 48 49 50 /* Different names, equivalent things in BSD and SysV */ 51 52 #define L_SET SEEK_SET 53 #define L_INCR SEEK_CUR 54 #define L_XTND SEEK_END 55 56 #define direct dirent 57 58 #define utime portable_utime 59 int portable_utime (char *file,time_t timep[2]); 60 61 #define ftruncate chsize 62 #define random rand 63 64 65 long gethostid (void); 66 typedef int (*select_t) (struct direct *name); 67 typedef int (*compar_t) (void *d1,void *d2); 68 int scandir (char *dirname,struct direct ***namelist,select_t select, 69 compar_t compar); 70 int alphasort (void *d1,void *d2); 71 int fsync (int fd); 72 73 74 #include "env_unix.h" 75 #include "fs.h" 76 #include "ftl.h" 77 #include "nl.h" 78 #include "tcp.h" 79 #include "flocksim.h" 80