Interface SystemB

    • Method Detail

      • gettimeofday

        int gettimeofday​(SystemB.Timeval tp,
                         SystemB.Timezone tzp)
        The system's notion of the current Greenwich time and the current time zone is obtained with the gettimeofday() call, and set with the settimeofday() call. The time is expressed in seconds and microseconds since midnight (0 hour), January 1, 1970. The resolution of the system clock is hardware dependent, and the time may be updated continuously or in ``ticks.'' If tp is NULL and tzp is non-NULL, gettimeofday() will populate the timezone struct in tzp. If tp is non-NULL and tzp is NULL, then only the timeval struct in tp is populated. If both tp and tzp are NULL, nothing is returned.
        Parameters:
        tp - Timeval structure
        tzp - Timezone structure
        Returns:
        A 0 return value indicates that the call succeeded. A -1 return value indicates an error occurred, and in this case an error code is stored into the global variable errno.
      • mach_host_self

        int mach_host_self()
        The mach_host_self system call returns the calling thread's host name port. It has an effect equivalent to receiving a send right for the host port.
        Returns:
        the host's name port
      • mach_task_self

        int mach_task_self()
        The mach_task_self system call returns the calling thread's task_self port. It has an effect equivalent to receiving a send right for the task's kernel port.
        Returns:
        the task's kernel port
      • mach_port_deallocate

        int mach_port_deallocate​(int port,
                                 int name)
        Decrement the target port right's user reference count.
        Parameters:
        port - The port holding the right.
        name - The port's name for the right.
        Returns:
        0 if successful, a kern_return_t code otherwise.
      • host_page_size

        int host_page_size​(int hostPort,
                           LongByReference pPageSize)
        The host_page_size function returns the page size for the given host.
        Parameters:
        hostPort - The name (or control) port for the host for which the page size is desired.
        pPageSize - The host's page size (in bytes), set on success.
        Returns:
        0 on success; sets errno on failure
      • host_statistics

        int host_statistics​(int hostPort,
                            int hostStat,
                            Structure stats,
                            IntByReference count)
        The host_statistics function returns scheduling and virtual memory statistics concerning the host as specified by hostStat.
        Parameters:
        hostPort - The control port for the host for which information is to be obtained.
        hostStat - The type of statistics desired (HOST_LOAD_INFO, HOST_VM_INFO, or HOST_CPU_LOAD_INFO)
        stats - Statistics about the specified host.
        count - On input, the maximum size of the buffer; on output, the size returned (in natural-sized units).
        Returns:
        0 on success; sets errno on failure
      • host_statistics64

        int host_statistics64​(int hostPort,
                              int hostStat,
                              Structure stats,
                              IntByReference count)
        The host_statistics64 function returns 64-bit virtual memory statistics concerning the host as specified by hostStat.
        Parameters:
        hostPort - The control port for the host for which information is to be obtained.
        hostStat - The type of statistics desired (HOST_VM_INFO64)
        stats - Statistics about the specified host.
        count - On input, the maximum size of the buffer; on output, the size returned (in natural-sized units).
        Returns:
        0 on success; sets errno on failure
      • sysctl

        int sysctl​(int[] name,
                   int namelen,
                   Pointer oldp,
                   IntByReference oldlenp,
                   Pointer newp,
                   int 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,
                         Pointer oldp,
                         IntByReference oldlenp,
                         Pointer newp,
                         int 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,
                            Pointer mibp,
                            IntByReference size)
        This 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.
        size - On input, number of elements in the returned array; on output, the number of entries copied.
        Returns:
        0 on success; sets errno on failure
      • host_processor_info

        int host_processor_info​(int hostPort,
                                int flavor,
                                IntByReference procCount,
                                PointerByReference procInfo,
                                IntByReference procInfoCount)
        The host_processor_info function returns information about processors.
        Parameters:
        hostPort - The control port for the host for which information is to be obtained.
        flavor - The type of information requested.
        procCount - Pointer to the number of processors
        procInfo - Pointer to the structure corresponding to the requested flavor
        procInfoCount - Pointer to number of elements in the returned structure
        Returns:
        0 on success; sets errno on failure
      • getpwuid

        SystemB.Passwd getpwuid​(int uid)
        This function searches the password database for the given user uid, always returning the first one encountered.
        Parameters:
        uid - The user ID
        Returns:
        a Passwd structure matching that user
      • getgrgid

        SystemB.Group getgrgid​(int gid)
        This function searches the group database for the given group name pointed to by the group id given by gid, returning the first one encountered. Identical group gids may result in undefined behavior.
        Parameters:
        gid - The group ID
        Returns:
        a Group structure matching that group
      • proc_listpids

        int proc_listpids​(int type,
                          int typeinfo,
                          int[] buffer,
                          int buffersize)
        Search through the current processes
        Parameters:
        type - types of processes to be searched
        typeinfo - adjunct information for type
        buffer - a C array of int-sized values to be filled with process identifiers that hold an open file reference matching the specified path or volume. Pass NULL to obtain the minimum buffer size needed to hold the currently active processes.
        buffersize - the size (in bytes) of the provided buffer.
        Returns:
        the number of bytes of data returned in the provided buffer; -1 if an error was encountered;
      • proc_pidinfo

        int proc_pidinfo​(int pid,
                         int flavor,
                         long arg,
                         Structure buffer,
                         int buffersize)
        Return in buffer a proc_*info structure corresponding to the flavor for the specified process
        Parameters:
        pid - the process identifier
        flavor - the type of information requested
        arg - argument possibly needed for some flavors
        buffer - holds results
        buffersize - size of results
        Returns:
        the number of bytes of data returned in the provided buffer; -1 if an error was encountered;
      • proc_pidpath

        int proc_pidpath​(int pid,
                         Pointer buffer,
                         int buffersize)
        Return in buffer the name of the specified process
        Parameters:
        pid - the process identifier
        buffer - holds results
        buffersize - size of results
        Returns:
        the length of the name returned in buffer if successful; 0 otherwise
      • proc_pid_rusage

        int proc_pid_rusage​(int pid,
                            int flavor,
                            SystemB.RUsageInfoV2 buffer)
        Return resource usage information for the given pid, which can be a live process or a zombie.
        Parameters:
        pid - the process identifier
        flavor - the type of information requested
        buffer - holds results
        Returns:
        0 on success; or -1 on failure, with errno set to indicate the specific error.
      • getfsstat64

        int getfsstat64​(SystemB.Statfs[] buf,
                        int bufsize,
                        int flags)
        The getfsstat() function returns information about all mounted file systems. The buf argument is a pointer to an array of statfs structures. Fields that are undefined for a particular file system are set to -1. The buffer is filled with an array of statfs structures, one for each mounted file system up to the size specified by bufsize.
        Parameters:
        buf - Array of statfs structures that will be filled with results. If buf is given as NULL, getfsstat() returns just the number of mounted file systems.
        bufsize - Size of the buffer to fill
        flags - If flags is set to MNT_NOWAIT, getfsstat() will directly return the information retained in the kernel to avoid delays caused by waiting for updated information from a file system that is perhaps temporarily unable to respond. Some of the information returned may be out of date, however; if flags is set to MNT_WAIT or MNT_DWAIT instead, getfsstat() will request updated information from each mounted filesystem before returning.
        Returns:
        Upon successful completion, the number of statfs structures is returned. Otherwise, -1 is returned and the global variable errno is set to indicate the error.
      • 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.