lj_serialize.h 816 B

12345678910111213141516171819202122232425262728
  1. /*
  2. ** Object de/serialization.
  3. ** Copyright (C) 2005-2023 Mike Pall. See Copyright Notice in luajit.h
  4. */
  5. #ifndef _LJ_SERIALIZE_H
  6. #define _LJ_SERIALIZE_H
  7. #include "lj_obj.h"
  8. #include "lj_buf.h"
  9. #if LJ_HASBUFFER
  10. #define LJ_SERIALIZE_DEPTH 100 /* Default depth. */
  11. LJ_FUNC void LJ_FASTCALL lj_serialize_dict_prep_str(lua_State *L, GCtab *dict);
  12. LJ_FUNC void LJ_FASTCALL lj_serialize_dict_prep_mt(lua_State *L, GCtab *dict);
  13. LJ_FUNC SBufExt * LJ_FASTCALL lj_serialize_put(SBufExt *sbx, cTValue *o);
  14. LJ_FUNC char * LJ_FASTCALL lj_serialize_get(SBufExt *sbx, TValue *o);
  15. LJ_FUNC GCstr * LJ_FASTCALL lj_serialize_encode(lua_State *L, cTValue *o);
  16. LJ_FUNC void lj_serialize_decode(lua_State *L, TValue *o, GCstr *str);
  17. #if LJ_HASJIT
  18. LJ_FUNC MSize LJ_FASTCALL lj_serialize_peektype(SBufExt *sbx);
  19. #endif
  20. #endif
  21. #endif