1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */
11 #include "nss_scoped_ptrs.h"
13 class DummyIOLayerMethods
{
15 static ScopedPRFileDesc
CreateFD(PRDescIdentity id
,
16 DummyIOLayerMethods
*methods
);
18 virtual PRStatus
Close(PRFileDesc
*f
);
19 virtual int32_t Read(PRFileDesc
*f
, void *buf
, int32_t length
);
20 virtual int32_t Write(PRFileDesc
*f
, const void *buf
, int32_t length
);
21 virtual int32_t Available(PRFileDesc
*f
);
22 virtual int64_t Available64(PRFileDesc
*f
);
23 virtual PRStatus
Sync(PRFileDesc
*f
);
24 virtual int32_t Seek(PRFileDesc
*f
, int32_t offset
, PRSeekWhence how
);
25 virtual int64_t Seek64(PRFileDesc
*f
, int64_t offset
, PRSeekWhence how
);
26 virtual PRStatus
FileInfo(PRFileDesc
*f
, PRFileInfo
*info
);
27 virtual PRStatus
FileInfo64(PRFileDesc
*f
, PRFileInfo64
*info
);
28 virtual int32_t Writev(PRFileDesc
*f
, const PRIOVec
*iov
, int32_t iov_size
,
30 virtual PRStatus
Connect(PRFileDesc
*f
, const PRNetAddr
*addr
,
32 virtual PRFileDesc
*Accept(PRFileDesc
*sd
, PRNetAddr
*addr
,
34 virtual PRStatus
Bind(PRFileDesc
*f
, const PRNetAddr
*addr
);
35 virtual PRStatus
Listen(PRFileDesc
*f
, int32_t depth
);
36 virtual PRStatus
Shutdown(PRFileDesc
*f
, int32_t how
);
37 virtual int32_t Recv(PRFileDesc
*f
, void *buf
, int32_t buflen
, int32_t flags
,
39 virtual int32_t Send(PRFileDesc
*f
, const void *buf
, int32_t amount
,
40 int32_t flags
, PRIntervalTime to
);
41 virtual int32_t Recvfrom(PRFileDesc
*f
, void *buf
, int32_t amount
,
42 int32_t flags
, PRNetAddr
*addr
, PRIntervalTime to
);
43 virtual int32_t Sendto(PRFileDesc
*f
, const void *buf
, int32_t amount
,
44 int32_t flags
, const PRNetAddr
*addr
,
46 virtual int16_t Poll(PRFileDesc
*f
, int16_t in_flags
, int16_t *out_flags
);
47 virtual int32_t AcceptRead(PRFileDesc
*sd
, PRFileDesc
**nd
, PRNetAddr
**raddr
,
48 void *buf
, int32_t amount
, PRIntervalTime t
);
49 virtual int32_t TransmitFile(PRFileDesc
*sd
, PRFileDesc
*f
,
50 const void *headers
, int32_t hlen
,
51 PRTransmitFileFlags flags
, PRIntervalTime t
);
52 virtual PRStatus
Getpeername(PRFileDesc
*f
, PRNetAddr
*addr
);
53 virtual PRStatus
Getsockname(PRFileDesc
*f
, PRNetAddr
*addr
);
54 virtual PRStatus
Getsockoption(PRFileDesc
*f
, PRSocketOptionData
*opt
);
55 virtual PRStatus
Setsockoption(PRFileDesc
*f
, const PRSocketOptionData
*opt
);
56 virtual int32_t Sendfile(PRFileDesc
*out
, PRSendFileData
*in
,
57 PRTransmitFileFlags flags
, PRIntervalTime to
);
58 virtual PRStatus
ConnectContinue(PRFileDesc
*f
, int16_t flags
);
59 virtual int32_t Reserved(PRFileDesc
*f
);
62 #endif // dummy_io_h__