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  CLibrary.Addrinfo  
      static class  CLibrary.BsdIp6stat  
      static class  CLibrary.BsdIpstat  
      static class  CLibrary.BsdTcpstat  
      static class  CLibrary.BsdUdpstat  
      static class  CLibrary.Sockaddr  
      • 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 int AI_CANONNAME  
      static int LOGIN_PROCESS  
      static int USER_PROCESS  
      static int UT_HOSTSIZE  
      static int UT_LINESIZE  
      static int UT_NAMESIZE  
      • 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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void endutxent()
      Closes the utmp file.
      void freeaddrinfo​(com.sun.jna.Pointer res)
      Frees the memory that was allocated for the dynamically allocated linked list res.
      java.lang.String gai_strerror​(int e)
      Translates getaddrinfo error codes to a human readable string, suitable for error reporting.
      int getaddrinfo​(java.lang.String node, java.lang.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 getpid()
      Returns the process ID of the calling process.
      int open​(java.lang.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 setutxent()
      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​(java.lang.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​(java.lang.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
    • Method Detail

      • 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​(java.lang.String node,
                        java.lang.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

        java.lang.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​(java.lang.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​(java.lang.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​(java.lang.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)