duckstation

duckstation, but archived from the revision just before upstream changed it to a proprietary software project, this version is the libre one
git clone https://git.neptards.moe/u3shit/duckstation.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