File: packet.hpp

package info (click to toggle)
abuse 2.00-12
  • links: PTS
  • area: main
  • in suites: slink
  • size: 12,708 kB
  • ctags: 15,389
  • sloc: ansic: 115,852; cpp: 6,792; lisp: 2,066; sh: 1,734; makefile: 1,601; asm: 264
file content (32 lines) | stat: -rw-r--r-- 694 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#ifndef __PACKET_HPP_
#define __PACKET_HPP_
#include "macs.hpp"
class packet
{
  public :
  uchar *buf;
  long buf_size,ro,wo,rend;
  int pre_size;
  void make_bigger(int max);

  int get_read_position() { return ro; }
  void set_read_position(int x) { ro=x; }
  int read(uchar *buffer, int size);
  int write(uchar *buffer, int size);
  int eop() { return ro>=rend; }
  void reset();
  packet(int prefix_size=2);
  void get_string(char *st, int len);
  int advance(long offset);

  void write_long(ulong x);      // writes can't fail...
  void write_short(ushort x);
  void write_byte(uchar x);
  void insert_into(packet &pk);
  int size() { return rend-pre_size; }
  ~packet();
} ;



#endif