Interface CLibrary

All Superinterfaces:
com.sun.jna.platform.unix.LibCAPI, com.sun.jna.Library, com.sun.jna.platform.unix.Reboot, com.sun.jna.platform.unix.Resource
All Known Subinterfaces:
AixLibc, FreeBsdLibc, LinuxLibc, OpenBsdLibc, SolarisLibc, SystemB

public interface CLibrary extends com.sun.jna.platform.unix.LibCAPI, com.sun.jna.Library
C library with code common to all *nix-based operating systems. This class should be considered non-API as it may be removed if/when its code is incorporated into the JNA project.
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static class 
     
    static class 
     
    static class 
     
    static class 
     
    static class 
     
    static class 
     

    Nested classes/interfaces inherited from interface com.sun.jna.platform.unix.LibCAPI

    com.sun.jna.platform.unix.LibCAPI.size_t, com.sun.jna.platform.unix.LibCAPI.ssize_t

    Nested classes/interfaces inherited from interface com.sun.jna.Library

    com.sun.jna.Library.Handler

    Nested classes/interfaces inherited from interface com.sun.jna.platform.unix.Resource

    com.sun.jna.platform.unix.Resource.Rlimit
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     

    Fields inherited from interface com.sun.jna.platform.unix.LibCAPI

    HOST_NAME_MAX

    Fields inherited from interface com.sun.jna.Library

    OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_SYMBOL_PROVIDER, OPTION_TYPE_MAPPER

    Fields inherited from interface com.sun.jna.platform.unix.Reboot

    RB_AUTOBOOT, RB_DISABLE_CAD, RB_ENABLE_CAD, RB_HALT_SYSTEM, RB_KEXEC, RB_POWER_OFF, RB_SW_SUSPEND

    Fields inherited from interface com.sun.jna.platform.unix.Resource

    RLIMIT_AS, RLIMIT_CORE, RLIMIT_CPU, RLIMIT_DATA, RLIMIT_FSIZE, RLIMIT_LOCKS, RLIMIT_MEMLOCK, RLIMIT_MSGQUEUE, RLIMIT_NICE, RLIMIT_NLIMITS, RLIMIT_NOFILE, RLIMIT_NPROC, RLIMIT_RSS, RLIMIT_RTPRIO, RLIMIT_RTTIME, RLIMIT_SIGPENDING, RLIMIT_STACK
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes the utmp file.
    void
    freeaddrinfo(com.sun.jna.Pointer res)
    Frees the memory that was allocated for the dynamically allocated linked list res.
    gai_strerror(int e)
    Translates getaddrinfo error codes to a human readable string, suitable for error reporting.
    int
    getaddrinfo(String node, String service, CLibrary.Addrinfo hints, com.sun.jna.ptr.PointerByReference res)
    Given node and service, which identify an Internet host and a service, getaddrinfo() returns one or more addrinfo structures, each of which contains an Internet address that can be specified in a call to bind(2) or connect(2).
    int
    Returns the process ID of the calling process.
    int
    open(String absolutePath, int i)
     
    com.sun.jna.platform.unix.LibCAPI.ssize_t
    pread(int fildes, com.sun.jna.Pointer buf, com.sun.jna.platform.unix.LibCAPI.size_t nbyte, com.sun.jna.NativeLong offset)
     
    void
    Rewinds the file pointer to the beginning of the utmp file.
    int
    sysctl(int[] name, int namelen, com.sun.jna.Pointer oldp, com.sun.jna.platform.unix.LibCAPI.size_t.ByReference oldlenp, com.sun.jna.Pointer newp, com.sun.jna.platform.unix.LibCAPI.size_t newlen)
    The sysctl() function retrieves system information and allows processes with appropriate privileges to set system information.
    int
    sysctlbyname(String name, com.sun.jna.Pointer oldp, com.sun.jna.platform.unix.LibCAPI.size_t.ByReference oldlenp, com.sun.jna.Pointer newp, com.sun.jna.platform.unix.LibCAPI.size_t newlen)
    The sysctlbyname() function accepts an ASCII representation of the name and internally looks up the integer name vector.
    int
    sysctlnametomib(String name, com.sun.jna.Pointer mibp, com.sun.jna.platform.unix.LibCAPI.size_t.ByReference sizep)
    The sysctlnametomib() function accepts an ASCII representation of the name, looks up the integer name vector, and returns the numeric representation in the mib array pointed to by mibp.

    Methods inherited from interface com.sun.jna.platform.unix.LibCAPI

    close, getdomainname, getegid, getenv, geteuid, getgid, gethostname, getloadavg, getuid, msync, munmap, setdomainname, setegid, setenv, seteuid, setgid, sethostname, setuid, unsetenv

    Methods inherited from interface com.sun.jna.platform.unix.Reboot

    reboot

    Methods inherited from interface com.sun.jna.platform.unix.Resource

    getrlimit, setrlimit
  • Field Details

  • Method Details

    • getpid

      int getpid()
      Returns the process ID of the calling process. The ID is guaranteed to be unique and is useful for constructing temporary file names.
      Returns:
      the process ID of the calling process.
    • getaddrinfo

      int getaddrinfo(String node, String service, CLibrary.Addrinfo hints, com.sun.jna.ptr.PointerByReference res)
      Given node and service, which identify an Internet host and a service, getaddrinfo() returns one or more addrinfo structures, each of which contains an Internet address that can be specified in a call to bind(2) or connect(2).
      Parameters:
      node - a numerical network address or a network hostname, whose network addresses are looked up and resolved.
      service - sets the port in each returned address structure.
      hints - specifies criteria for selecting the socket address structures returned in the list pointed to by res.
      res - returned address structure
      Returns:
      0 on success; sets errno on failure
    • freeaddrinfo

      void freeaddrinfo(com.sun.jna.Pointer res)
      Frees the memory that was allocated for the dynamically allocated linked list res.
      Parameters:
      res - Pointer to linked list returned by getaddrinfo
    • gai_strerror

      String gai_strerror(int e)
      Translates getaddrinfo error codes to a human readable string, suitable for error reporting.
      Parameters:
      e - Error code from getaddrinfo
      Returns:
      A human-readable version of the error code
    • setutxent

      void setutxent()
      Rewinds the file pointer to the beginning of the utmp file. It is generally a good idea to call it before any of the other functions.
    • endutxent

      void endutxent()
      Closes the utmp file. It should be called when the user code is done accessing the file with the other functions.
    • sysctl

      int sysctl(int[] name, int namelen, com.sun.jna.Pointer oldp, com.sun.jna.platform.unix.LibCAPI.size_t.ByReference oldlenp, com.sun.jna.Pointer newp, com.sun.jna.platform.unix.LibCAPI.size_t newlen)
      The sysctl() function retrieves system information and allows processes with appropriate privileges to set system information. The information available from sysctl() consists of integers, strings, and tables. The state is described using a "Management Information Base" (MIB) style name, listed in name, which is a namelen length array of integers. The information is copied into the buffer specified by oldp. The size of the buffer is given by the location specified by oldlenp before the call, and that location gives the amount of data copied after a successful call and after a call that returns with the error code ENOMEM. If the amount of data available is greater than the size of the buffer supplied, the call supplies as much data as fits in the buffer provided and returns with the error code ENOMEM. If the old value is not desired, oldp and oldlenp should be set to NULL. The size of the available data can be determined by calling sysctl() with the NULL argument for oldp. The size of the available data will be returned in the location pointed to by oldlenp. For some operations, the amount of space may change often. For these operations, the system attempts to round up so that the returned size is large enough for a call to return the data shortly thereafter. To set a new value, newp is set to point to a buffer of length newlen from which the requested value is to be taken. If a new value is not to be set, newp should be set to NULL and newlen set to 0.
      Parameters:
      name - MIB array of integers
      namelen - length of the MIB array
      oldp - Information retrieved
      oldlenp - Size of information retrieved
      newp - Information to be written
      newlen - Size of information to be written
      Returns:
      0 on success; sets errno on failure
    • sysctlbyname

      int sysctlbyname(String name, com.sun.jna.Pointer oldp, com.sun.jna.platform.unix.LibCAPI.size_t.ByReference oldlenp, com.sun.jna.Pointer newp, com.sun.jna.platform.unix.LibCAPI.size_t newlen)
      The sysctlbyname() function accepts an ASCII representation of the name and internally looks up the integer name vector. Apart from that, it behaves the same as the standard sysctl() function.
      Parameters:
      name - ASCII representation of the MIB name
      oldp - Information retrieved
      oldlenp - Size of information retrieved
      newp - Information to be written
      newlen - Size of information to be written
      Returns:
      0 on success; sets errno on failure
    • sysctlnametomib

      int sysctlnametomib(String name, com.sun.jna.Pointer mibp, com.sun.jna.platform.unix.LibCAPI.size_t.ByReference sizep)
      The sysctlnametomib() function accepts an ASCII representation of the name, looks up the integer name vector, and returns the numeric representation in the mib array pointed to by mibp. The number of elements in the mib array is given by the location specified by sizep before the call, and that location gives the number of entries copied after a successful call. The resulting mib and size may be used in subsequent sysctl() calls to get the data associated with the requested ASCII name. This interface is intended for use by applications that want to repeatedly request the same variable (the sysctl() function runs in about a third the time as the same request made via the sysctlbyname() function). The number of elements in the mib array can be determined by calling sysctlnametomib() with the NULL argument for mibp. The sysctlnametomib() function is also useful for fetching mib prefixes. If size on input is greater than the number of elements written, the array still contains the additional elements which may be written programmatically.
      Parameters:
      name - ASCII representation of the name
      mibp - Integer array containing the corresponding name vector.
      sizep - On input, number of elements in the returned array; on output, the number of entries copied.
      Returns:
      0 on success; sets errno on failure
    • open

      int open(String absolutePath, int i)
    • pread

      com.sun.jna.platform.unix.LibCAPI.ssize_t pread(int fildes, com.sun.jna.Pointer buf, com.sun.jna.platform.unix.LibCAPI.size_t nbyte, com.sun.jna.NativeLong offset)