__macro.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef VIRTUALMATH___MACRO_H
  2. #define VIRTUALMATH___MACRO_H
  3. #include "macro.h"
  4. // PASS语句的定义
  5. #define PASS
  6. #define RUN_TYPE(type) (type == not_return || type == operation_return)
  7. #define CHECK_RESULT(result) (result->type == not_return || result->type == operation_return)
  8. #define FREE_BASE(element, return_) do{if(element == NULL)goto return_;}while(0)
  9. #define INTER_FUNCTIONSIG_CORE struct Inter *inter, struct VarList *var_list
  10. #define INTER_FUNCTIONSIG_NOT_ST struct LinkValue *belong, struct Result *result, INTER_FUNCTIONSIG_CORE
  11. #define INTER_FUNCTIONSIG struct Statement *st, INTER_FUNCTIONSIG_NOT_ST
  12. #define CALL_INTER_FUNCTIONSIG_CORE(var_list) inter, var_list
  13. #define CALL_INTER_FUNCTIONSIG_NOT_ST(var_list, result, belong) belong, result, CALL_INTER_FUNCTIONSIG_CORE(var_list)
  14. #define CALL_INTER_FUNCTIONSIG(st, var_list, result, belong) st, CALL_INTER_FUNCTIONSIG_NOT_ST(var_list, result, belong)
  15. #define OFFICAL_FUNCTIONSIG struct Argument *arg, INTER_FUNCTIONSIG_NOT_ST
  16. #define CALL_OFFICAL_FUNCTION(arg, var_list, result, belong) arg, CALL_INTER_FUNCTIONSIG_NOT_ST(var_list, result, belong)
  17. #define REGISTERED_FUNCTIONSIG struct LinkValue *belong, INTER_FUNCTIONSIG_CORE
  18. #define CALL_REGISTERED_FUNCTION(belong, var_list) belong, CALL_INTER_FUNCTIONSIG_CORE(var_list)
  19. #define MD5_SIZE 16
  20. #define MD5_STR_LEN (MD5_SIZE * 2)
  21. #define MD5_STRING MD5_STR_LEN + 1
  22. typedef long long vnum;
  23. typedef unsigned long long vhashn;
  24. typedef unsigned long long fline;
  25. #endif //VIRTUALMATH___MACRO_H