current version
[opsoft_test.git] / gclib2 / modules / Core / dpbuf.h
blobd46dbea46f70ea0e0254fc5a4f95007d4d2d2253
1 /*
2 * (c) Oleg Puchinin 2006,2007
3 * graycardinalster@gmail.com
5 */
7 #ifndef DEFINE_DPBUF_H
8 #define DEFINE_DPBUF_H
10 #include <stdint.h>
11 #include <stdlib.h>
12 #include <stdio.h>
14 /// Класс - устойчивый буфер.
15 class DPBuf
17 public:
18 DPBuf ();
19 DPBuf (char *, int len);
20 ~DPBuf ();
22 char * set_pos (char * ptr);
23 void init (char *ptr, int len);
24 FILE * file ();
26 void s8 (void);
27 void s16 (void);
28 void s32 (void);
29 void sd (int count);
31 unsigned char r8 (char *ptr = NULL);
32 uint16_t r16 (char *ptr = NULL);
33 uint32_t r32 (char *ptr = NULL);
34 char * rd (char *ptr, int len);
36 void w8 (char ch);
37 void w16 (uint16_t word);
38 void w32 (uint32_t dword);
39 void wd (char * buf, int len);
41 bool check (char *ptr, int count);
42 char * strcat (char *ptr, char *S);
43 char * memmem (char * buf, char * needle, size_t needlelen);
44 char * ch (char *buf, char ch);
46 inline char * data () {
47 return begin;
49 inline int len () {
50 return end - begin;
53 bool ok;
55 protected:
56 char * begin;
57 char * carret;
58 char * end;
59 FILE * m_file;
62 #endif