Lines Matching refs:pTftpServer

34   @param [in] pTftpServer   The TFTP server control structure address.
41 IN TSDT_TFTP_SERVER * pTftpServer
74 &pTftpServer->RemoteAddress,
97 pContext->pNext = pTftpServer->pContextList;
98 pTftpServer->pContextList = pContext;
117 @param [in] pTftpServer The TFTP server control structure address.
128 IN TSDT_TFTP_SERVER * pTftpServer
138 pContext = pTftpServer->pContextList;
143 if (( pTftpServer->RemoteAddress.sin_addr.s_addr == pContext->RemoteAddress.sin_addr.s_addr )
144 && ( pTftpServer->RemoteAddress.sin_port == pContext->RemoteAddress.sin_port )) {
171 @param [in] pTftpServer The TFTP server control structure address.
178 IN TSDT_TFTP_SERVER * pTftpServer,
191 pNextContext = pTftpServer->pContextList;
201 pTftpServer->pContextList = pContext->pNext;
233 @param [in] pTftpServer The TFTP server control structure address.
238 IN TSDT_TFTP_SERVER * pTftpServer
249 if ( 0 != ( pTftpServer->TftpPort.revents & POLLRDNORM )) {
253 RemoteAddressLength = sizeof ( pTftpServer->RemoteAddress );
254 pTftpServer->RxBytes = recvfrom ( pTftpServer->TftpPort.fd,
255 &pTftpServer->RxBuffer[0],
256 sizeof ( pTftpServer->RxBuffer ),
258 (struct sockaddr *) &pTftpServer->RemoteAddress,
260 if ( -1 != pTftpServer->RxBytes ) {
261 pTftpServer->RemoteAddress.sin_len = (UINT8) RemoteAddressLength;
264 pTftpServer->RxBytes,
265 pTftpServer->RemoteAddress.sin_addr.s_addr & 0xff,
266 ( pTftpServer->RemoteAddress.sin_addr.s_addr >> 8 ) & 0xff,
267 ( pTftpServer->RemoteAddress.sin_addr.s_addr >> 16 ) & 0xff,
268 ( pTftpServer->RemoteAddress.sin_addr.s_addr >> 24 ) & 0xff,
269 htons ( pTftpServer->RemoteAddress.sin_port )));
276 pContext = ContextFind ( pTftpServer );
281 TftpProcessRequest ( pTftpServer, pContext );
291 pTftpServer->TftpPort.revents |= POLLHUP;
298 if ( 0 != ( pTftpServer->TftpPort.revents & POLLHUP )) {
302 close ( pTftpServer->TftpPort.fd );
303 pTftpServer->TftpPort.fd = -1;
313 @param [in] pTftpServer The TFTP server control structure address.
318 IN TSDT_TFTP_SERVER * pTftpServer
328 FDCount = poll ( &pTftpServer->TftpPort,
341 PortWork ( pTftpServer );
342 pTftpServer->TftpPort.revents = 0;
784 @param [in] pTftpServer The TFTP server control structure address.
790 IN TSDT_TFTP_SERVER * pTftpServer,
810 pBuffer = &pTftpServer->RxBuffer[0];
834 (UINT8)pTftpServer->RemoteAddress.sin_addr.s_addr,
835 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 8 ),
836 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 16 ),
837 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 24 ),
838 htons ( pTftpServer->RemoteAddress.sin_port )));
849 if ( pTftpServer->RxBytes > (ssize_t)( pContext->BlockSize + 2 + 2 )) {
852 pTftpServer->RxBytes - 2 - 2,
864 (UINT8)pTftpServer->RemoteAddress.sin_addr.s_addr,
865 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 8 ),
866 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 16 ),
867 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 24 ),
868 htons ( pTftpServer->RemoteAddress.sin_port )));
884 (UINT8)pTftpServer->RemoteAddress.sin_addr.s_addr,
885 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 8 ),
886 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 16 ),
887 (UINT8)( pTftpServer->RemoteAddress.sin_addr.s_addr >> 24 ),
888 htons ( pTftpServer->RemoteAddress.sin_port )));
910 ContextRemove ( pTftpServer, pContext );
916 pContext = ContextAdd ( pTftpServer );
925 pEnd = &pBuffer[pTftpServer->RxBytes];
939 TftpSendError ( pTftpServer,
966 TftpSendError ( pTftpServer,
991 TftpSendError ( pTftpServer,
1026 Status = TftpTxPacket ( pTftpServer, pContext );
1032 Status = TftpSendNextBlock ( pTftpServer, pContext );
1040 BlockNumber = pTftpServer->RxBuffer[2];
1042 BlockNumber |= pTftpServer->RxBuffer[3];
1073 Status = TftpSendNextBlock ( pTftpServer, pContext );
1084 ContextRemove ( pTftpServer, pContext );
1094 @param [in] pTftpServer The TFTP server control structure address.
1104 IN TSDT_TFTP_SERVER * pTftpServer,
1138 Status = TftpTxPacket ( pTftpServer, pContext );
1151 @param [in] pTftpServer The TFTP server control structure address.
1159 IN TSDT_TFTP_SERVER * pTftpServer,
1199 Status = TftpTxPacket ( pTftpServer, pContext );
1216 @param [in] pTftpServer The TFTP server control structure address.
1221 IN TSDT_TFTP_SERVER * pTftpServer
1238 Status = gBS->CheckEvent ( pTftpServer->TimerEvent );
1244 pTftpServer->TftpPort.events = POLLRDNORM | POLLHUP;
1245 pTftpServer->TftpPort.revents = 0;
1246 pTftpServer->TftpPort.fd = socket ( AF_INET,
1249 if ( -1 != pTftpServer->TftpPort.fd ) {
1253 ZeroMem ( &pTftpServer->TftpServerAddress,
1254 sizeof ( pTftpServer->TftpServerAddress ));
1259 pTftpServer->TftpServerAddress.sin_len = sizeof ( pTftpServer->TftpServerAddress );
1260 pTftpServer->TftpServerAddress.sin_family = AF_INET;
1261 pTftpServer->TftpServerAddress.sin_addr.s_addr = INADDR_ANY;
1262 pTftpServer->TftpServerAddress.sin_port = htons ( TftpPort );
1267 SocketStatus = bind ( pTftpServer->TftpPort.fd,
1268 (struct sockaddr *) &pTftpServer->TftpServerAddress,
1269 pTftpServer->TftpServerAddress.sin_len );
1273 pTftpServer->TftpPort.fd,
1281 close ( pTftpServer->TftpPort.fd );
1282 pTftpServer->TftpPort.fd = -1;
1289 }while ( -1 == pTftpServer->TftpPort.fd );
1298 @param [in] pTftpServer The TFTP server control structure address.
1307 IN TSDT_TFTP_SERVER * pTftpServer
1319 if ( !pTftpServer->bTimerRunning ) {
1324 Status = gBS->SetTimer ( pTftpServer->TimerEvent,
1333 pTftpServer->bTimerRunning = TRUE;
1353 @param [in] pTftpServer The TFTP server control structure address.
1361 IN TSDT_TFTP_SERVER * pTftpServer
1372 if ( pTftpServer->bTimerRunning ) {
1376 Status = gBS->SetTimer ( pTftpServer->TimerEvent,
1385 pTftpServer->bTimerRunning = FALSE;
1404 @param [in] pTftpServer The TFTP server control structure address.
1412 IN TSDT_TFTP_SERVER * pTftpServer,
1433 LengthInBytes = sendto ( pTftpServer->TftpPort.fd,
1469 TSDT_TFTP_SERVER * pTftpServer;
1475 pTftpServer = &mTftpServer;
1480 &pTftpServer->TimerEvent );
1482 Status = TftpServerTimerStart ( pTftpServer );
1495 TftpServerTimer ( pTftpServer );
1501 SocketPoll ( pTftpServer );
1502 } while ( -1 != pTftpServer->TftpPort.fd );
1514 TftpServerTimerStop ( pTftpServer );
1515 Status = gBS->CloseEvent ( pTftpServer->TimerEvent );