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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  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. kSyntaxErrorXmlRC
  13. };
  14. typedef struct cmXmlAttr_str
  15. {
  16. const cmChar_t* label;
  17. const cmChar_t* value;
  18. struct cmXmlAttr_str* link;
  19. } cmXmlAttr_t;
  20. enum
  21. {
  22. kDeclXmlFl = 0x0001,
  23. kDoctypeXmlFl = 0x0002,
  24. kNormalXmlFl = 0x0004,
  25. };
  26. typedef struct cmXmlNode_str
  27. {
  28. unsigned flags;
  29. const cmChar_t* label;
  30. const cmChar_t* dataStr;
  31. cmXmlAttr_t* attr;
  32. struct cmXmlNode_str* parent;
  33. struct cmXmlNode_str* children;
  34. struct cmXmlNode_str* sibling;
  35. } cmXmlNode_t;
  36. typedef cmHandle_t cmXmlH_t;
  37. typedef cmRC_t cmXmlRC_t;
  38. extern cmXmlH_t cmXmlNullHandle;
  39. cmXmlRC_t cmXmlAlloc( cmCtx_t* ctx, cmXmlH_t* hh, const cmChar_t* fn );
  40. cmXmlRC_t cmXmlFree( cmXmlH_t* hh );
  41. bool cmXmlIsValid( cmXmlH_t h );
  42. cmXmlRC_t cmXmlParse( cmXmlH_t h, const cmChar_t* fn );
  43. cmXmlRC_t cmXmlClear( cmXmlH_t h );
  44. #ifdef __cpluspus
  45. }
  46. #endif
  47. #endif