< prev index next >

src/java.base/unix/native/libnio/fs/UnixNativeDispatcher.c

Print this page
rev 59383 : [mq]: final


  24  */
  25 
  26 #include <stdio.h>
  27 #include <stdlib.h>
  28 #include <limits.h>
  29 #include <fcntl.h>
  30 #include <dirent.h>
  31 #include <unistd.h>
  32 #include <errno.h>
  33 #include <dlfcn.h>
  34 #include <sys/types.h>
  35 #include <sys/stat.h>
  36 #ifdef MACOSX
  37 #include <sys/param.h>
  38 #include <sys/mount.h>
  39 #else
  40 #include <sys/statvfs.h>
  41 #endif
  42 #include <sys/time.h>
  43 
  44 /* For POSIX-compliant getpwuid_r, getgrgid_r on Solaris */
  45 #if defined(__solaris__)
  46 #define _POSIX_PTHREAD_SEMANTICS
  47 #endif
  48 #include <pwd.h>
  49 #include <grp.h>
  50 
  51 #ifdef __solaris__
  52 #include <strings.h>
  53 #endif
  54 
  55 #ifdef __linux__
  56 #include <sys/syscall.h>
  57 #endif
  58 
  59 #if defined(__linux__) || defined(_AIX)
  60 #include <string.h>
  61 #endif
  62 
  63 #ifdef _ALLBSD_SOURCE
  64 #include <string.h>
  65 
  66 #define stat64 stat
  67 #ifndef MACOSX
  68 #define statvfs64 statvfs
  69 #endif
  70 
  71 #define open64 open
  72 #define fstat64 fstat
  73 #define lstat64 lstat
  74 #define readdir64 readdir


 246     attrs_f_bfree = (*env)->GetFieldID(env, clazz, "f_bfree", "J");
 247     CHECK_NULL_RETURN(attrs_f_bfree, 0);
 248     attrs_f_bavail = (*env)->GetFieldID(env, clazz, "f_bavail", "J");
 249     CHECK_NULL_RETURN(attrs_f_bavail, 0);
 250 
 251     clazz = (*env)->FindClass(env, "sun/nio/fs/UnixMountEntry");
 252     CHECK_NULL_RETURN(clazz, 0);
 253     entry_name = (*env)->GetFieldID(env, clazz, "name", "[B");
 254     CHECK_NULL_RETURN(entry_name, 0);
 255     entry_dir = (*env)->GetFieldID(env, clazz, "dir", "[B");
 256     CHECK_NULL_RETURN(entry_dir, 0);
 257     entry_fstype = (*env)->GetFieldID(env, clazz, "fstype", "[B");
 258     CHECK_NULL_RETURN(entry_fstype, 0);
 259     entry_options = (*env)->GetFieldID(env, clazz, "opts", "[B");
 260     CHECK_NULL_RETURN(entry_options, 0);
 261     entry_dev = (*env)->GetFieldID(env, clazz, "dev", "J");
 262     CHECK_NULL_RETURN(entry_dev, 0);
 263 
 264     /* system calls that might not be available at run time */
 265 
 266 #if (defined(__solaris__) && defined(_LP64)) || defined(_ALLBSD_SOURCE)
 267     /* Solaris 64-bit does not have openat64/fstatat64 */
 268     my_openat64_func = (openat64_func*)dlsym(RTLD_DEFAULT, "openat");
 269     my_fstatat64_func = (fstatat64_func*)dlsym(RTLD_DEFAULT, "fstatat");
 270 #else
 271     my_openat64_func = (openat64_func*) dlsym(RTLD_DEFAULT, "openat64");
 272     my_fstatat64_func = (fstatat64_func*) dlsym(RTLD_DEFAULT, "fstatat64");
 273 #endif
 274     my_unlinkat_func = (unlinkat_func*) dlsym(RTLD_DEFAULT, "unlinkat");
 275     my_renameat_func = (renameat_func*) dlsym(RTLD_DEFAULT, "renameat");
 276 #ifndef _ALLBSD_SOURCE
 277     my_futimesat_func = (futimesat_func*) dlsym(RTLD_DEFAULT, "futimesat");
 278     my_lutimes_func = (lutimes_func*) dlsym(RTLD_DEFAULT, "lutimes");
 279 #endif
 280     my_futimens_func = (futimens_func*) dlsym(RTLD_DEFAULT, "futimens");
 281 #if defined(_AIX)
 282     my_fdopendir_func = (fdopendir_func*) dlsym(RTLD_DEFAULT, "fdopendir64");
 283 #else
 284     my_fdopendir_func = (fdopendir_func*) dlsym(RTLD_DEFAULT, "fdopendir");
 285 #endif
 286 
 287 #if defined(FSTATAT64_SYSCALL_AVAILABLE)




  24  */
  25 
  26 #include <stdio.h>
  27 #include <stdlib.h>
  28 #include <limits.h>
  29 #include <fcntl.h>
  30 #include <dirent.h>
  31 #include <unistd.h>
  32 #include <errno.h>
  33 #include <dlfcn.h>
  34 #include <sys/types.h>
  35 #include <sys/stat.h>
  36 #ifdef MACOSX
  37 #include <sys/param.h>
  38 #include <sys/mount.h>
  39 #else
  40 #include <sys/statvfs.h>
  41 #endif
  42 #include <sys/time.h>
  43 
  44 /* For POSIX-compliant getpwuid_r */



  45 #include <pwd.h>
  46 #include <grp.h>
  47 




  48 #ifdef __linux__
  49 #include <sys/syscall.h>
  50 #endif
  51 
  52 #if defined(__linux__) || defined(_AIX)
  53 #include <string.h>
  54 #endif
  55 
  56 #ifdef _ALLBSD_SOURCE
  57 #include <string.h>
  58 
  59 #define stat64 stat
  60 #ifndef MACOSX
  61 #define statvfs64 statvfs
  62 #endif
  63 
  64 #define open64 open
  65 #define fstat64 fstat
  66 #define lstat64 lstat
  67 #define readdir64 readdir


 239     attrs_f_bfree = (*env)->GetFieldID(env, clazz, "f_bfree", "J");
 240     CHECK_NULL_RETURN(attrs_f_bfree, 0);
 241     attrs_f_bavail = (*env)->GetFieldID(env, clazz, "f_bavail", "J");
 242     CHECK_NULL_RETURN(attrs_f_bavail, 0);
 243 
 244     clazz = (*env)->FindClass(env, "sun/nio/fs/UnixMountEntry");
 245     CHECK_NULL_RETURN(clazz, 0);
 246     entry_name = (*env)->GetFieldID(env, clazz, "name", "[B");
 247     CHECK_NULL_RETURN(entry_name, 0);
 248     entry_dir = (*env)->GetFieldID(env, clazz, "dir", "[B");
 249     CHECK_NULL_RETURN(entry_dir, 0);
 250     entry_fstype = (*env)->GetFieldID(env, clazz, "fstype", "[B");
 251     CHECK_NULL_RETURN(entry_fstype, 0);
 252     entry_options = (*env)->GetFieldID(env, clazz, "opts", "[B");
 253     CHECK_NULL_RETURN(entry_options, 0);
 254     entry_dev = (*env)->GetFieldID(env, clazz, "dev", "J");
 255     CHECK_NULL_RETURN(entry_dev, 0);
 256 
 257     /* system calls that might not be available at run time */
 258 
 259 #if defined(_ALLBSD_SOURCE)

 260     my_openat64_func = (openat64_func*)dlsym(RTLD_DEFAULT, "openat");
 261     my_fstatat64_func = (fstatat64_func*)dlsym(RTLD_DEFAULT, "fstatat");
 262 #else
 263     my_openat64_func = (openat64_func*) dlsym(RTLD_DEFAULT, "openat64");
 264     my_fstatat64_func = (fstatat64_func*) dlsym(RTLD_DEFAULT, "fstatat64");
 265 #endif
 266     my_unlinkat_func = (unlinkat_func*) dlsym(RTLD_DEFAULT, "unlinkat");
 267     my_renameat_func = (renameat_func*) dlsym(RTLD_DEFAULT, "renameat");
 268 #ifndef _ALLBSD_SOURCE
 269     my_futimesat_func = (futimesat_func*) dlsym(RTLD_DEFAULT, "futimesat");
 270     my_lutimes_func = (lutimes_func*) dlsym(RTLD_DEFAULT, "lutimes");
 271 #endif
 272     my_futimens_func = (futimens_func*) dlsym(RTLD_DEFAULT, "futimens");
 273 #if defined(_AIX)
 274     my_fdopendir_func = (fdopendir_func*) dlsym(RTLD_DEFAULT, "fdopendir64");
 275 #else
 276     my_fdopendir_func = (fdopendir_func*) dlsym(RTLD_DEFAULT, "fdopendir");
 277 #endif
 278 
 279 #if defined(FSTATAT64_SYSCALL_AVAILABLE)


< prev index next >