The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/libprop/prop_array.h

Version: -  FREEBSD  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-2  -  FREEBSD-11-1  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-4  -  FREEBSD-10-3  -  FREEBSD-10-2  -  FREEBSD-10-1  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-3  -  FREEBSD-9-2  -  FREEBSD-9-1  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-4  -  FREEBSD-8-3  -  FREEBSD-8-2  -  FREEBSD-8-1  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-4  -  FREEBSD-7-3  -  FREEBSD-7-2  -  FREEBSD-7-1  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-4  -  FREEBSD-6-3  -  FREEBSD-6-2  -  FREEBSD-6-1  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-5  -  FREEBSD-5-4  -  FREEBSD-5-3  -  FREEBSD-5-2  -  FREEBSD-5-1  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  linux-2.6  -  linux-2.4.22  -  MK83  -  MK84  -  PLAN9  -  DFBSD  -  NETBSD  -  NETBSD5  -  NETBSD4  -  NETBSD3  -  NETBSD20  -  OPENBSD  -  xnu-517  -  xnu-792  -  xnu-792.6.70  -  xnu-1228  -  xnu-1456.1.26  -  xnu-1699.24.8  -  xnu-2050.18.24  -  OPENSOLARIS  -  minix-3-1-1 
SearchContext: -  none  -  3  -  10 

    1 /*     $NetBSD: prop_array.h,v 1.13 2011/09/30 22:08:18 jym Exp $    */
    2 
    3 /*-
    4  * Copyright (c) 2006, 2009 The NetBSD Foundation, Inc.
    5  * All rights reserved.
    6  *
    7  * This code is derived from software contributed to The NetBSD Foundation
    8  * by Jason R. Thorpe.
    9  *
   10  * Redistribution and use in source and binary forms, with or without
   11  * modification, are permitted provided that the following conditions
   12  * are met:
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  * 2. Redistributions in binary form must reproduce the above copyright
   16  *    notice, this list of conditions and the following disclaimer in the
   17  *    documentation and/or other materials provided with the distribution.
   18  *
   19  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
   20  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
   21  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   22  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
   23  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
   24  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
   25  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
   26  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
   27  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
   28  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
   29  * POSSIBILITY OF SUCH DAMAGE.
   30  */
   31 
   32 #ifndef _PROPLIB_PROP_ARRAY_H_
   33 #define _PROPLIB_PROP_ARRAY_H_
   34 
   35 #include <libprop/prop_object.h>
   36 
   37 typedef struct _prop_array *prop_array_t;
   38 
   39 __BEGIN_DECLS
   40 prop_array_t    prop_array_create(void);
   41 prop_array_t    prop_array_create_with_capacity(unsigned int);
   42 
   43 prop_array_t    prop_array_copy(prop_array_t);
   44 prop_array_t    prop_array_copy_mutable(prop_array_t);
   45 
   46 unsigned int    prop_array_capacity(prop_array_t);
   47 unsigned int    prop_array_count(prop_array_t);
   48 bool            prop_array_ensure_capacity(prop_array_t, unsigned int);
   49 
   50 void            prop_array_make_immutable(prop_array_t);
   51 bool            prop_array_mutable(prop_array_t);
   52 
   53 prop_object_iterator_t prop_array_iterator(prop_array_t);
   54 
   55 prop_object_t   prop_array_get(prop_array_t, unsigned int);
   56 bool            prop_array_set(prop_array_t, unsigned int, prop_object_t);
   57 bool            prop_array_add(prop_array_t, prop_object_t);
   58 void            prop_array_remove(prop_array_t, unsigned int);
   59 
   60 bool            prop_array_equals(prop_array_t, prop_array_t);
   61 
   62 char *          prop_array_externalize(prop_array_t);
   63 prop_array_t    prop_array_internalize(const char *);
   64 
   65 bool            prop_array_externalize_to_file(prop_array_t, const char *);
   66 prop_array_t    prop_array_internalize_from_file(const char *);
   67 
   68 struct plistref;
   69 
   70 #if !defined(_KERNEL) && !defined(_STANDALONE)
   71 bool            prop_array_externalize_to_pref(prop_array_t, struct plistref *);
   72 bool            prop_array_internalize_from_pref(const struct plistref *,
   73                                                  prop_array_t *);
   74 int             prop_array_send_ioctl(prop_array_t, int, unsigned long);
   75 int             prop_array_recv_ioctl(int, unsigned long, prop_array_t *);
   76 int             prop_array_send_syscall(prop_array_t, struct plistref *);
   77 int             prop_array_recv_syscall(const struct plistref *,
   78                                         prop_array_t *);
   79 #elif defined(_KERNEL)
   80 int             prop_array_copyin(const struct plistref *, prop_array_t *);
   81 int             prop_array_copyout(struct plistref *, prop_array_t);
   82 int             prop_array_copyin_ioctl(const struct plistref *, const u_long,
   83                                         prop_array_t *);
   84 int             prop_array_copyout_ioctl(struct plistref *, const u_long,
   85                                          prop_array_t);
   86 #endif
   87 
   88 /*
   89  * Utility routines to make it more convenient to work with values
   90  * stored in dictionaries.
   91  */
   92 bool            prop_array_get_bool(prop_array_t, unsigned int,
   93                                          bool *);
   94 bool            prop_array_set_bool(prop_array_t, unsigned int,
   95                                          bool);
   96 
   97 bool            prop_array_get_int8(prop_array_t, unsigned int,
   98                                          int8_t *);
   99 bool            prop_array_get_uint8(prop_array_t, unsigned int,
  100                                           uint8_t *);
  101 bool            prop_array_set_int8(prop_array_t, unsigned int,
  102                                          int8_t);
  103 bool            prop_array_set_uint8(prop_array_t, unsigned int,
  104                                           uint8_t);
  105 
  106 bool            prop_array_get_int16(prop_array_t, unsigned int,
  107                                           int16_t *);
  108 bool            prop_array_get_uint16(prop_array_t, unsigned int,
  109                                            uint16_t *);
  110 bool            prop_array_set_int16(prop_array_t, unsigned int,
  111                                           int16_t);
  112 bool            prop_array_set_uint16(prop_array_t, unsigned int,
  113                                            uint16_t);
  114 
  115 bool            prop_array_get_int32(prop_array_t, unsigned int,
  116                                           int32_t *);
  117 bool            prop_array_get_uint32(prop_array_t, unsigned int,
  118                                            uint32_t *);
  119 bool            prop_array_set_int32(prop_array_t, unsigned int,
  120                                           int32_t);
  121 bool            prop_array_set_uint32(prop_array_t, unsigned int,
  122                                            uint32_t);
  123 
  124 bool            prop_array_get_int64(prop_array_t, unsigned int,
  125                                           int64_t *);
  126 bool            prop_array_get_uint64(prop_array_t, unsigned int,
  127                                            uint64_t *);
  128 bool            prop_array_set_int64(prop_array_t, unsigned int,
  129                                           int64_t);
  130 bool            prop_array_set_uint64(prop_array_t, unsigned int,
  131                                            uint64_t);
  132 
  133 bool            prop_array_add_int8(prop_array_t, int8_t);
  134 bool            prop_array_add_uint8(prop_array_t, uint8_t);
  135 
  136 bool            prop_array_add_int16(prop_array_t, int16_t);
  137 bool            prop_array_add_uint16(prop_array_t, uint16_t);
  138 
  139 bool            prop_array_add_int32(prop_array_t, int32_t);
  140 bool            prop_array_add_uint32(prop_array_t, uint32_t);
  141 
  142 bool            prop_array_add_int64(prop_array_t, int64_t);
  143 bool            prop_array_add_uint64(prop_array_t, uint64_t);
  144 
  145 bool            prop_array_get_cstring(prop_array_t, unsigned int,
  146                                              char **);
  147 bool            prop_array_set_cstring(prop_array_t, unsigned int,
  148                                             const char *);
  149 
  150 bool            prop_array_get_cstring_nocopy(prop_array_t,
  151                                                    unsigned int,
  152                                                    const char **);
  153 bool            prop_array_set_cstring_nocopy(prop_array_t,
  154                                                    unsigned int,
  155                                                    const char *);
  156 
  157 bool            prop_array_add_and_rel(prop_array_t, prop_object_t);
  158 
  159 __END_DECLS
  160 
  161 #endif /* _PROPLIB_PROP_ARRAY_H_ */

Cache object: 131e5e9cda3f04530d63b238356d189c


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.