A dynamic tracer for Linux

ply.h 475B

1234567891011121314151617181920212223242526272829303132333435
  1. #ifndef _PLY_H
  2. #define _PLY_H
  3. #include "node.h"
  4. #include "sym.h"
  5. #include "type.h"
  6. #include "arch.h"
  7. typedef struct prog prog_t;
  8. typedef struct provider provider_t;
  9. struct prog {
  10. const char *probe;
  11. node_t *ast;
  12. symtab_t *locals;
  13. symtab_t *globals;
  14. provider_t *provider;
  15. void *provider_data;
  16. };
  17. struct provider {
  18. const char *name;
  19. int (*resolve)(prog_t *, node_t *);
  20. int (*probe)(prog_t *);
  21. };
  22. void provider_register(provider_t *prov);
  23. #endif /* _PLY_H */