DDI_STRTOLL(9F)         Kernel Functions for Drivers         DDI_STRTOLL(9F)
NAME
       ddi_strtoll, ddi_strtoull - string conversion functions
SYNOPSIS
       #include <sys/ddi.h>
       #include <sys/sunddi.h>       
int ddi_strtoll(
const char *str, 
char **endptr, 
int base,            
longlong_t *result);       
int ddi_strtoull(
const char *str, 
char **endptr, 
int base,            
u_longlong_t *result);
PARAMETERS
       str                 pointer to a character string to be converted       
endptr                 post-conversion final string of unrecognized characters       
base                 radix used for conversion       
result                 pointer to variable which contains the converted value
INTERFACE LEVEL
       illumos DDI specific (illumos DDI)
DESCRIPTION
       The 
ddi_strtoll() function converts the initial portion of the string
       pointed to by 
str to a type 
longlong_t representation and stores the
       converted value in 
result.
       The 
ddi_strtoull() function converts the initial portion of the
       string pointed to by 
str to a type 
u_longlong_t representation and
       stores the converted value in 
result.
       These functions first decomposes the input string into three parts:
           1.     An initial (possibly empty) sequence of white-space
                  characters (" ", "\t", "\n", "\r", "\f")
           2.     A subject sequence interpreted as an integer represented
                  in some radix determined by the value of base
           3.     A final string of one or more unrecognized characters,
                  including the terminating null byte of the input string.
       The 
ddi_strtoll() function then attempts to convert the subject
       sequence to an integer and returns the result. The 
ddi_strtoull()       function attempts to convert the subject sequence to an unsigned
       integer and returns the result.
       If the value of base is 0, the expected form of the subject sequence
       is that of a decimal constant, octal constant or hexadecimal
       constant, any of which may be preceded by a plus ("+") or minus ("-")
       sign. A decimal constant begins with a non-zero digit, and consists
       of a sequence of decimal digits. An octal constant consists of the
       prefix 0 optionally followed by a sequence of the digits 0 to 7 only.
       A hexadecimal constant consists of the prefix 0x or 0X followed by a
       sequence of the decimal digits and letters a (or A) to f (or F) with
       values 10 to 15 respectively.
       If the value of base is between 2 and 36, the expected form of the
       subject sequence is a sequence of letters and digits representing an
       integer with the radix specified by base, optionally preceded by a
       plus or minus sign. The letters from a (or A) to z (or Z) inclusive
       are ascribed the values 10 to 35 and only letters whose ascribed
       values are less than that of base are permitted. If the value of base
       is 16, the characters 0x or 0X may optionally precede the sequence of
       letters and digits, following the sign if present.
       The subject sequence is defined as the longest initial subsequence of
       the input string, starting with the first non-white-space character
       that is of the expected form. The subject sequence contains no
       characters if the input string is empty or consists entirely of
       white-space characters, or if the first non-white-space character is
       other than a sign or a permissible letter or digit.
       If the subject sequence has the expected form and the value of base
       is 0, the sequence of characters starting with the first digit is
       interpreted as an integer constant. If the subject sequence has the
       expected form and the value of base is between 2 and 36, it is used
       as the base for conversion, ascribing to each letter its value as
       given above. If the subject sequence begins with a minus sign, the
       value resulting from the conversion is negated. A pointer to the
       final string is stored in the object pointed to by 
endptr, provided
       that 
endptr is not a null pointer.
       If the subject sequence is empty or does not have the expected form,
       no conversion is performed and the value of 
str is stored in the
       object pointed to by 
endptr, provided that 
endptr is not a null
       pointer.
RETURN VALUES
       Upon successful completion, these functions return 0 and store the
       converted value in 
result. If no conversion is performed due to an
       invalid base, these functions return 
EINVAL and the variable pointed
       by 
result is not changed.
CONTEXT
       These functions may be called from user, kernel or interrupt context.
ATTRIBUTES
       See 
attributes(7) for descriptions of the following attributes:
       +--------------------+-----------------+
       |  ATTRIBUTE TYPE    | ATTRIBUTE VALUE |
       +--------------------+-----------------+
       |Interface Stability | Committed       |
       +--------------------+-----------------+
SEE ALSO
       Writing Device Drivers                              February 25, 2009              DDI_STRTOLL(9F)