VirtualBox

source: vbox/trunk/src/VBox/GuestHost/OpenGL/util/net_internals.h@ 33561

最後變更 在這個檔案從33561是 33561,由 vboxsync 提交於 14 年 前

wddm/3d: merge chromium hgcm and hgsmi connection into one

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Id
檔案大小: 5.7 KB
 
1#ifndef NET_INTERNALS_H
2#define NET_INTERNALS_H
3
4#include "cr_bufpool.h"
5#include "cr_threads.h"
6
7#ifndef WINDOWS
8#include <sys/time.h>
9#endif
10
11/*
12 * DevNull network interface
13 */
14extern void crDevnullInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
15extern void crDevnullConnection( CRConnection *conn );
16extern int crDevnullRecv( void );
17extern CRConnection** crDevnullDump( int *num );
18
19
20/*
21 * File network interface
22 */
23extern void crFileInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
24extern void crFileConnection( CRConnection *conn );
25extern int crFileRecv( void );
26extern CRConnection** crFileDump( int *num );
27
28
29/*
30 * TCP/IP network interface
31 */
32typedef enum {
33 CRTCPIPMemory,
34 CRTCPIPMemoryBig
35} CRTCPIPBufferKind;
36
37#define CR_TCPIP_BUFFER_MAGIC 0x89134532
38
39typedef struct CRTCPIPBuffer {
40 unsigned int magic;
41 CRTCPIPBufferKind kind;
42 unsigned int len;
43 unsigned int allocated;
44 unsigned int pad; /* may be clobbered by crTCPIPSend() */
45} CRTCPIPBuffer;
46
47typedef struct {
48 int initialized;
49 int num_conns;
50 CRConnection **conns;
51 CRBufferPool *bufpool;
52#ifdef CHROMIUM_THREADSAFE
53 CRmutex mutex;
54 CRmutex recvmutex;
55#endif
56 CRNetReceiveFuncList *recv_list;
57 CRNetCloseFuncList *close_list;
58 CRSocket server_sock;
59} cr_tcpip_data;
60
61extern cr_tcpip_data cr_tcpip;
62
63extern void crTCPIPInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
64extern void crTCPIPConnection( CRConnection *conn );
65extern int crTCPIPRecv( void );
66extern CRConnection** crTCPIPDump( int *num );
67extern int crTCPIPDoConnect( CRConnection *conn );
68extern void crTCPIPDoDisconnect( CRConnection *conn );
69extern int crTCPIPErrno( void );
70extern char *crTCPIPErrorString( int err );
71extern void crTCPIPAccept( CRConnection *conn, const char *hostname, unsigned short port );
72extern void crTCPIPWriteExact( CRConnection *conn, const void *buf, unsigned int len );
73extern void crTCPIPFree( CRConnection *conn, void *buf );
74extern void *crTCPIPAlloc( CRConnection *conn );
75extern void crTCPIPReadExact( CRConnection *conn, void *buf, unsigned int len );
76extern int __tcpip_write_exact( CRSocket sock, const void *buf, unsigned int len );
77extern int __tcpip_read_exact( CRSocket sock, void *buf, unsigned int len );
78extern void __tcpip_dead_connection( CRConnection *conn );
79extern int __crSelect( int n, fd_set *readfds, int sec, int usec );
80
81
82/*
83 * UDP network interface
84 */
85extern void crUDPTCPIPInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
86extern void crUDPTCPIPConnection( CRConnection *conn );
87extern int crUDPTCPIPRecv( void );
88
89/*
90 * VirtualBox HGCM
91 */
92#ifdef VBOX_WITH_HGCM
93extern void crVBoxHGCMInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
94extern void crVBoxHGCMConnection( CRConnection *conn );
95extern int crVBoxHGCMRecv( void );
96extern CRConnection** crVBoxHGCMDump( int *num );
97extern void crVBoxHGCMTearDown(void);
98#endif
99
100/*
101 * TEAC network interface
102 */
103#ifdef TEAC_SUPPORT
104extern void crTeacInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl,
105 unsigned int mtu );
106extern void crTeacConnection( CRConnection *conn );
107extern int crTeacRecv( void );
108extern void crTeacSetRank( int );
109extern void crTeacSetContextRange( int, int );
110extern void crTeacSetNodeRange( const char *, const char * );
111extern void crTeacSetKey( const unsigned char *key, const int keyLength );
112#endif /* TEAC_SUPPORT */
113
114
115/*
116 * Tcscomm network interface
117 */
118#ifdef TCSCOMM_SUPPORT
119extern void crTcscommInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl,
120 unsigned int mtu );
121extern void crTcscommConnection( CRConnection *conn );
122extern int crTcscommRecv( void );
123#endif /* TCSCOMM_SUPPORT */
124
125
126/*
127 * SDP network interface
128 */
129#ifdef SDP_SUPPORT
130extern const char *crGetSDPHostnameSuffix(void);
131extern void crSDPInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
132extern void crSDPConnection( CRConnection *conn );
133extern int crSDPRecv( void );
134extern CRConnection** crSDPDump( int *num );
135#endif /* SDP_SUPPORT */
136
137
138/*
139 * Infiniband network interface
140 */
141#ifdef IB_SUPPORT
142extern void crIBInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
143extern void crIBConnection( CRConnection *conn );
144extern int crIBRecv( void );
145extern CRConnection** crIBDump( int *num );
146#endif /* IB_SUPPORT */
147
148
149/*
150 * GM network interface
151 */
152#ifdef GM_SUPPORT
153extern void crGmInit( CRNetReceiveFuncList *rfl, CRNetCloseFuncList *cfl, unsigned int mtu );
154extern void crGmConnection( CRConnection *conn );
155extern int crGmRecv( void );
156extern CRConnection** crGmDump( int *num );
157extern int crGmDoConnect( CRConnection *conn );
158extern void crGmDoDisconnect( CRConnection *conn );
159extern int crGmErrno( void );
160extern char *crGmErrorString( int err );
161extern void crGmAccept( CRConnection *conn, const char *hostname, unsigned short port );
162extern void crGmSendExact( CRConnection *conn, const void *buf, unsigned int len );
163extern void crGmFree( CRConnection *conn, void *buf );
164extern void *crGmAlloc( CRConnection *conn );
165extern void crGmReadExact( CRConnection *conn, void *buf, unsigned int len );
166extern void crGmBogusRecv( CRConnection *conn, void *buf, unsigned int len );
167extern void crGmHandleNewMessage( CRConnection *conn, CRMessage *msg, unsigned int len );
168extern void crGmInstantReclaim( CRConnection *conn, CRMessage *msg );
169extern unsigned int crGmNodeId( void );
170extern unsigned int crGmPortNum( void );
171#endif /* GM_SUPPORT */
172
173
174extern CRConnection** crNetDump( int *num );
175
176#endif /* NET_INTERNALS_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette