Rudiments
filedescriptor.h
1 // Copyright (c) 2002 David Muse
2 // See the COPYING file for more information.
3 
4  protected:
5 
6  void filedescriptorInit();
7  void filedescriptorClone(const filedescriptor &f);
8 
9  virtual ssize_t bufferedRead(void *buf, ssize_t count,
10  int32_t sec, int32_t usec) const;
11  virtual ssize_t bufferedWrite(const void *buf, ssize_t count,
12  int32_t sec, int32_t usec) const;
13  virtual ssize_t safeRead(void *buf, ssize_t count,
14  int32_t sec, int32_t usec) const;
15  virtual ssize_t safeWrite(const void *buf, ssize_t count,
16  int32_t sec, int32_t usec) const;
17  bool setNoDelay(int32_t onoff);
18 
19  virtual void *newSSLBIO() const;
20 
21  int32_t getSockOpt(int32_t level, int32_t optname,
22  void *optval, socklen_t *optlen);
23  int32_t setSockOpt(int32_t level, int32_t optname,
24  const void *optval, socklen_t optlen);
25 
26  virtual ssize_t lowLevelRead(void *buf,
27  ssize_t count) const;
28  virtual ssize_t lowLevelWrite(const void *buf,
29  ssize_t count) const;
30  virtual int32_t lowLevelClose();
31 
32  const char *type() const;
33  void type(const char *tp);
34 
35  int32_t fd() const;
36  void fd(int32_t filedes);
37 
38  void *ctx();
39  void *ssl();
40  int32_t sslresult();
41  void sslresult(int32_t sslrslt);
42 
43  private:
44  filedescriptorprivate *pvt;
45 
46  public:
47  filedescriptor(int32_t fd);
48  static void *getHandleFromFileDescriptor(int32_t fd);
Definition: filedescriptor.h:14