tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

cubeb_strings.h (1271B)


      1 /*
      2 * Copyright © 2011 Mozilla Foundation
      3 *
      4 * This program is made available under an ISC-style license.  See the
      5 * accompanying file LICENSE for details.
      6 */
      7 
      8 #ifndef CUBEB_STRINGS_H
      9 #define CUBEB_STRINGS_H
     10 
     11 #include "cubeb/cubeb.h"
     12 
     13 #if defined(__cplusplus)
     14 extern "C" {
     15 #endif
     16 
     17 /** Opaque handle referencing interned string storage. */
     18 typedef struct cubeb_strings cubeb_strings;
     19 
     20 /** Initialize an interned string structure.
     21    @param strings An out param where an opaque pointer to the
     22    interned string storage will be returned.
     23    @retval CUBEB_OK in case of success.
     24    @retval CUBEB_ERROR in case of error. */
     25 CUBEB_EXPORT int
     26 cubeb_strings_init(cubeb_strings ** strings);
     27 
     28 /** Destroy an interned string structure freeing all associated memory.
     29    @param strings An opaque pointer to the interned string storage to
     30                   destroy. */
     31 CUBEB_EXPORT void
     32 cubeb_strings_destroy(cubeb_strings * strings);
     33 
     34 /** Add string to internal storage.
     35    @param strings Opaque pointer to interned string storage.
     36    @param s String to add to storage.
     37    @retval CUBEB_OK
     38    @retval CUBEB_ERROR
     39 */
     40 CUBEB_EXPORT char const *
     41 cubeb_strings_intern(cubeb_strings * strings, char const * s);
     42 
     43 #if defined(__cplusplus)
     44 }
     45 #endif
     46 
     47 #endif // !CUBEB_STRINGS_H