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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #ifndef cmTagFile_h
  2. #define cmTagFile_h
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. // Read a ctags file generated by:
  7. //
  8. // ctags --c-kinds=+p --fields=+n file.h
  9. //
  10. // --c-kinds=+p turns on function prototype reporting.
  11. // --field=+n turns on line number reporting
  12. enum
  13. {
  14. kOkTfRC = cmOkRC,
  15. kFileFailTfRC,
  16. kLHeapFailTfRC,
  17. kSyntaxErrTfRC,
  18. kFileInvalidTfRC
  19. };
  20. typedef unsigned cmTfRC_t;
  21. typedef cmHandle_t cmTfH_t;
  22. extern cmTfH_t cmTfNullHandle;
  23. enum
  24. {
  25. kFuncTfFl = 0x01,
  26. kEnumTfFl = 0x02,
  27. kMacroTfFl = 0x04,
  28. kTypedefTfFl = 0x08,
  29. kFieldTfFl = 0x10,
  30. kExternTfFl = 0x20 // extern var's and forward declarations
  31. // be sure to add new flags to _cmTfFlagsToLabel()
  32. };
  33. typedef struct
  34. {
  35. unsigned flags;
  36. unsigned line;
  37. const cmChar_t* label;
  38. } cmTfTag_t;
  39. cmTfRC_t cmTfOpenFile( cmCtx_t* ctx, cmTfH_t* hp, const cmChar_t* fn );
  40. cmTfRC_t cmTfCloseFile( cmTfH_t* hp );
  41. bool cmTfIsValid( cmTfH_t h );
  42. unsigned cmTfCount( cmTfH_t h );
  43. const cmTfTag_t* cmTfRecd( cmTfH_t h, unsigned index );
  44. cmTfRC_t cmTfReport( cmTfH_t h, cmRpt_t* rpt );
  45. cmTfRC_t cmTfTest( cmCtx_t* ctx, const cmChar_t* fn );
  46. #ifdef __cplusplus
  47. }
  48. #endif
  49. #endif