Advertisement
JudeAustin

system_properties.h

May 27th, 2011
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.29 KB | None | 0 0
  1. /*
  2. * Copyright (C) 2008 The Android Open Source Project
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions
  7. * are met:
  8. * * Redistributions of source code must retain the above copyright
  9. * notice, this list of conditions and the following disclaimer.
  10. * * Redistributions in binary form must reproduce the above copyright
  11. * notice, this list of conditions and the following disclaimer in
  12. * the documentation and/or other materials provided with the
  13. * distribution.
  14. *
  15. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  16. * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  17. * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  18. * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
  19. * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  20. * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
  21. * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
  22. * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
  23. * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  24. * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  25. * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  26. * SUCH DAMAGE.
  27. */
  28.  
  29. #ifndef _INCLUDE_SYS_SYSTEM_PROPERTIES_H
  30. #define _INCLUDE_SYS_SYSTEM_PROPERTIES_H
  31.  
  32. #include <sys/cdefs.h>
  33.  
  34. __BEGIN_DECLS
  35.  
  36. typedef struct prop_info prop_info;
  37.  
  38. #define PROP_NAME_MAX 32
  39. #define PROP_VALUE_MAX 92
  40.  
  41. /* Look up a system property by name, copying its value and a
  42. ** \0 terminator to the provided pointer. The total bytes
  43. ** copied will be no greater than PROP_VALUE_MAX. Returns
  44. ** the string length of the value. A property that is not
  45. ** defined is identical to a property with a length 0 value.
  46. */
  47. int __system_property_get(const char *name, char *value);
  48.  
  49. /* Return a pointer to the system property named name, if it
  50. ** exists, or NULL if there is no such property. Use
  51. ** __system_property_read() to obtain the string value from
  52. ** the returned prop_info pointer.
  53. **
  54. ** It is safe to cache the prop_info pointer to avoid future
  55. ** lookups. These returned pointers will remain valid for
  56. ** the lifetime of the system.
  57. */
  58. const prop_info *__system_property_find(const char *name);
  59.  
  60. /* Read the value of a system property. Returns the length
  61. ** of the value. Copies the value and \0 terminator into
  62. ** the provided value pointer. Total length (including
  63. ** terminator) will be no greater that PROP_VALUE_MAX.
  64. **
  65. ** If name is nonzero, up to PROP_NAME_MAX bytes will be
  66. ** copied into the provided name pointer. The name will
  67. ** be \0 terminated.
  68. */
  69. int __system_property_read(const prop_info *pi, char *name, char *value);
  70.  
  71. /* Return a prop_info for the nth system property, or NULL if
  72. ** there is no nth property. Use __system_property_read() to
  73. ** read the value of this property.
  74. **
  75. ** This method is for inspecting and debugging the property
  76. ** system. Please use __system_property_find() instead.
  77. **
  78. ** Order of results may change from call to call. This is
  79. ** not a bug.
  80. */
  81. const prop_info *__system_property_find_nth(unsigned n);
  82.  
  83. __END_DECLS
  84.  
  85. #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement