Package oshi.jna.platform.unix
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
Modifier and TypeInterfaceDescriptionstatic 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
Modifier and TypeFieldDescriptionstatic 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 TypeMethodDescriptionvoid
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
getpid()
Returns the process ID of the calling process.int
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
-
AI_CANONNAME
static final int AI_CANONNAME- See Also:
-
UT_LINESIZE
static final int UT_LINESIZE- See Also:
-
UT_NAMESIZE
static final int UT_NAMESIZE- See Also:
-
UT_HOSTSIZE
static final int UT_HOSTSIZE- See Also:
-
LOGIN_PROCESS
static final int LOGIN_PROCESS- See Also:
-
USER_PROCESS
static final int USER_PROCESS- See Also:
-
-
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
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 integersnamelen
- length of the MIB arrayoldp
- Information retrievedoldlenp
- Size of information retrievednewp
- Information to be writtennewlen
- 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 nameoldp
- Information retrievedoldlenp
- Size of information retrievednewp
- Information to be writtennewlen
- 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 namemibp
- 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
-
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)
-