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 -- Solaris 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 <string.h> 30 31 #include <sys/types.h> 32 #include <stdlib.h> 33 #include <dirent.h> 34 #include <fcntl.h> 35 #include <unistd.h> 36 #include <time.h> 37 #include <utime.h> 38 #include <syslog.h> 39 #include <sys/file.h> 40 #include <ustat.h> 41 42 43 /* Many versions of SysV get this wrong */ 44 45 #define setpgrp(a,b) Setpgrp(a,b) 46 int Setpgrp (int pid,int gid); 47 48 49 /* Different names, equivalent things in BSD and SysV */ 50 51 /* L_SET is defined for some strange reason in <sys/file.h> on SVR4. */ 52 #ifndef L_SET 53 #define L_SET SEEK_SET 54 #endif 55 #ifndef L_INCR 56 #define L_INCR SEEK_CUR 57 #endif 58 #ifndef L_XTND 59 #define L_XTND SEEK_END 60 #endif 61 62 #define direct dirent 63 #define random lrand48 64 65 #define scandir Scandir 66 #define alphasort Alphasort 67 68 #define utime portable_utime 69 int portable_utime (char *file,time_t timep[2]); 70 71 long gethostid (void); 72 typedef int (*select_t) (struct direct *name); 73 typedef int (*compar_t) (const void *d1,const void *d2); 74 int scandir (char *dirname,struct direct ***namelist,select_t select, 75 compar_t compar); 76 int alphasort (void *d1,void *d2); 77 78 79 #include "env_unix.h" 80 #include "fs.h" 81 #include "ftl.h" 82 #include "nl.h" 83 #include "tcp.h" 84 #include "flocksim.h" 85