libcm is a C development framework with an emphasis on audio signal processing applications.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef cmXml_h
  2. #define cmXml_h
  3. #ifdef __cpluspus
  4. extern "C" {
  5. #endif
  6. enum
  7. {
  8. kOkXmlRC = cmOkRC,
  9. kMemAllocErrXmlRC,
  10. kLHeapXmlRC,
  11. kLexErrXmlRC
  12. };
  13. typedef struct cmXmlAttr_str
  14. {
  15. const cmChar_t* label;
  16. const cmChar_t* value;
  17. struct cmXmlAttr_str* link;
  18. } cmXmlAttr_t;
  19. typedef struct cmXmlNode_str
  20. {
  21. struct cmXmlNode_str* parent;
  22. struct cmXmlNode_str* children;
  23. struct cmXmlNode_str* sibling;
  24. cmXmlAttr_t* attr;
  25. } cmXmlNode_t;
  26. typedef cmHandle_t cmXmlH_t;
  27. typedef cmRC_t cmXmlRC_t;
  28. extern cmXmlH_t cmXmlNullHandle;
  29. cmXmlRC_t cmXmlAlloc( cmCtx_t* ctx, cmXmlH_t* hh, const cmChar_t* fn );
  30. cmXmlRC_t cmXmlFree( cmXmlH_t* hh );
  31. bool cmXmlIsValid( cmXmlH_t h );
  32. cmXmlRC_t cmXmlParse( cmXmlH_t h, const cmChar_t* fn );
  33. cmXmlRC_t cmXmlClear( cmXmlH_t h );
  34. #ifdef __cpluspus
  35. }
  36. #endif
  37. #endif