OpenMoHAA 0.82.0
Loading...
Searching...
No Matches
gpiTransfer.h
1/*
2gpiTransfer.h
3GameSpy Presence SDK
4Dan "Mr. Pants" Schoenblum
5
6Copyright 1999-2007 GameSpy Industries, Inc
7
8devsupport@gamespy.com
9
10***********************************************************************
11Please see the GameSpy Presence SDK documentation for more information
12**********************************************************************/
13
14#ifndef _GPITRANSFER_H_
15#define _GPITRANSFER_H_
16
17//INCLUDES
19#include "gpi.h"
20
21//DEFINES
23#define GPI_FILE_DIRECTORY (1 << 1)
24#define GPI_FILE_SKIP (1 << 2)
25#define GPI_FILE_FAILED (1 << 3)
26#define GPI_FILE_COMPLETED (1 << 4)
27#define GPI_FILE_CONFIRMING (1 << 5)
28
29#define GPI_ACCEPTED 0
30#define GPI_REJECTED 1
31#define GPI_NOT_ACCEPTING 2
32
33#define GPI_SKIP_READ_ERROR 0
34#define GPI_SKIP_WRITE_ERROR 1
35#define GPI_SKIP_USER_SKIP 2
36
37//TYPES
39typedef enum
40{
41 GPITransferPinging,
42 GPITransferWaiting,
43 GPITransferTransferring,
44 GPITransferComplete,
45 GPITransferCancelled,
46 GPITransferNoConnection
47} GPITransferState;
48
49typedef struct GPITransferID_s
50{
51 int profileid;
52 unsigned int count;
53 unsigned int time;
54} GPITransferID;
55
56typedef struct
57{
58 GPITransferState state;
59 DArray files;
60 GPITransferID transferID;
61 int localID;
62 GPIBool sender;
63 GPProfile profile;
64 GPIPeer * peer;
65 int currentFile;
66 int throttle;
67 char * baseDirectory;
68 unsigned long lastSend;
69 char * message;
70 int totalSize;
71 int progress;
72 void * userData;
74
75typedef struct
76{
77 char * path;
78 char * name;
79
80#ifdef GSI_UNICODE
81 unsigned short* name_W; // must have this since developers are given pointers to internal memory
82 unsigned short* path_W;
83#endif
84
85 int progress;
86 int size;
87 int acknowledged;
88 FILE * file;
89 int flags;
90 gsi_time modTime;
91 MD5_CTX md5;
92 int reason;
93} GPIFile;
94
95//FUNCTIONS
97#ifndef NOFILE
98GPResult gpiInitTransfers(
99 GPConnection * connection
100);
101
102void gpiCleanupTransfers(
103 GPConnection * connection
104);
105
106GPResult gpiProcessTransfers
107(
108 GPConnection * connection
109);
110
111GPResult gpiNewSenderTransfer
112(
113 GPConnection * connection,
114 GPITransfer ** transfer,
115 GPProfile profile
116);
117
118void gpiFreeTransfer
119(
120 GPConnection * connection,
121 GPITransfer * transfer
122);
123
124void gpiCancelTransfer
125(
126 GPConnection * connection,
127 GPITransfer * transfer
128);
129
130void gpiTransferError
131(
132 GPConnection * connection,
133 const GPITransfer * transfer
134);
135
136GPITransfer * gpiFindTransferByLocalID
137(
138 GPConnection * connection,
139 int localID
140);
141
142int gpiGetTransferLocalIDByIndex
143(
144 GPConnection * connection,
145 int index
146);
147
148GPIFile * gpiAddFileToTransfer
149(
150 GPITransfer * transfer,
151 const char * path,
152 const char * name
153);
154
155void gpiSkipFile
156(
157 GPConnection * connection,
158 GPITransfer * transfer,
159 int file,
160 int reason
161);
162
163void gpiSkipCurrentFile
164(
165 GPConnection * connection,
166 GPITransfer * transfer,
167 int reason
168);
169
170GPIBool gpiGetTransferFileInfo
171(
172 FILE * file,
173 int * size,
174 gsi_time * modTime
175);
176
177void gpiTransferPeerDestroyed
178(
179 GPConnection * connection,
180 GPIPeer * peer
181);
182
183void gpiTransfersHandlePong
184(
185 GPConnection * connection,
186 GPProfile profile,
187 GPIPeer * peer
188);
189#endif
190
191GPResult gpiSendTransferReply
192(
193 GPConnection * connection,
194 const GPITransferID * transferID,
195 GPIPeer * peer,
196 int result,
197 const char * message
198);
199
200void gpiHandleTransferMessage
201(
202 GPConnection * connection,
203 GPIPeer * peer,
204 int type,
205 const char * headers,
206 const char * buffer,
207 int len
208);
209
210#endif
Definition gpiTransfer.h:76
Definition gpiTransfer.h:50
Definition gpiTransfer.h:57
Definition md5.h:66