libcm is a C development framework with an emphasis on audio signal processing applications.
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

cmXml.h 1.1KB

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