BLO_undofile.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * ***** BEGIN GPL LICENSE BLOCK *****
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License
  6. * as published by the Free Software Foundation; either version 2
  7. * of the License, or (at your option) any later version.
  8. *
  9. * This program is distributed in the hope that it will be useful,
  10. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. * GNU General Public License for more details.
  13. *
  14. * You should have received a copy of the GNU General Public License
  15. * along with this program; if not, write to the Free Software Foundation,
  16. * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  17. *
  18. * The Original Code is Copyright (C) 2004 Blender Foundation.
  19. * All rights reserved.
  20. *
  21. * The Original Code is: all of this file.
  22. *
  23. * Contributor(s): none yet.
  24. *
  25. * ***** END GPL LICENSE BLOCK *****
  26. * external writefile function prototypes
  27. */
  28. #ifndef __BLO_UNDOFILE_H__
  29. #define __BLO_UNDOFILE_H__
  30. /** \file BLO_undofile.h
  31. * \ingroup blenloader
  32. */
  33. typedef struct {
  34. void *next, *prev;
  35. char *buf;
  36. unsigned int ident, size;
  37. } MemFileChunk;
  38. typedef struct MemFile {
  39. ListBase chunks;
  40. unsigned int size;
  41. } MemFile;
  42. /* actually only used writefile.c */
  43. extern void memfile_chunk_add(MemFile *compare, MemFile *current, const char *buf, unsigned int size);
  44. /* exports */
  45. extern void BLO_memfile_free(MemFile *memfile);
  46. extern void BLO_memfile_merge(MemFile *first, MemFile *second);
  47. #endif