I am sponsoring the following case for Ed Pilatowicz as approved
automatic, with a requested release binding of minor.

-Chris

Template Version: @(#)sac_nextcase %I% %G% SMI
This information is Copyright 2009 Sun Microsystems
1. Introduction
    1.1. Project/Component Working Name:
         ddi_strdup
    1.2. Name of Document Author/Supplier:
         Author:  Edward Pilatowicz
    1.3  Date of This Document:
        11 January, 2009
4. Technical Description

    Add ddi_strdup(9F), strdup(9F), and strfree(9F) to the DDI

    PROBLEM:

        Currently there are 6 version of strfree() and 18 versions of
        strdup() in the kernel.

    SOLUTION:

        The following interfaces will be introduced as Committed in
        <sys/sunddi.h> when _KERNEL is defined.

            char        *ddi_strdup(const char *str, int flag);
            char        *strdup(const char *str);
            void        strfree(char *str);

        This is targeting Nevada/OpenSolaris.

        No patch binding is requested since introduction of this change
        in an update could break compilation of existing source which
        defines private versions of these commonly used functions.


    TECHNICAL DESCRIPTION:

        ddi_strdup(9F) is a simple wrapper around kmem_alloc() and it
        will allow the caller to specify KM_SLEEP or KM_NOSLEEP.
        strdup(9F) will invoke ddi_strdup(9F) with the KM_SLEEP flag.
        The behavior of these functions is undefined if 'str' is NULL.
        strfree() is not limited to freeing strings allocated by
        strdup(), it can accept any kmem_{z}alloc()'d memory with a
        size of "strlen(str) + 1".

        These functions will be documented in a new man page,
        string(9F).  For consistency with string(3C), the new
        string(9F) man page will also subsume contents of strchr(9F),
        strcmp(9F), strspn(9F), and strlen(9F).

6. Resources and Schedule
    6.4. Steering Committee requested information
        6.4.1. Consolidation C-team Name:
                ON
    6.5. ARC review type: Automatic
    6.6. ARC Exposure: open


Reply via email to