instruct.h 939 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef AVM_INSTRUCT_H
  2. #define AVM_INSTRUCT_H 1
  3. #include <avm/lists.h>
  4. #include <avm/common.h>
  5. #include <avm/profile.h>
  6. #ifdef __cplusplus
  7. extern "C"
  8. {
  9. #endif
  10. typedef struct instruction_node *instruction;
  11. struct instruction_node
  12. {
  13. port client;
  14. score sheet;
  15. flag remotely_executable;
  16. flag non_deterministic;
  17. counter granularity;
  18. struct avm_packet actor;
  19. struct avm_packet datum;
  20. instruction dependents;
  21. };
  22. extern int avm_scheduled (list actor_contents,
  23. counter datum_errors,
  24. list datum_contents,
  25. port client,
  26. instruction *next,
  27. score sheet,
  28. flag remote,
  29. flag balanceable,
  30. counter granularity);
  31. extern void avm_retire (instruction *done);
  32. extern void avm_reschedule (instruction *next);
  33. extern void avm_initialize_instruct ();
  34. extern void avm_count_instruct ();
  35. #ifdef __cplusplus
  36. }
  37. #endif
  38. #endif /* !AVM_INSTRUCT_H */