Lines Matching refs:lpo
686 internal_sendmsg(isc_socket_t *sock, IoCompletionInfo *lpo,
698 messagehdr->to_addr_len, (LPWSAOVERLAPPED)lpo,
725 if (lpo != NULL)
739 IoCompletionInfo *lpo = NULL;
749 if (lpo != NULL)
750 HeapFree(hHeapHandle, 0, lpo);
758 if (lpo != NULL)
759 HeapFree(hHeapHandle, 0, lpo);
769 if (lpo == NULL) {
770 lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle,
773 RUNTIME_CHECK(lpo != NULL);
775 ZeroMemory(lpo, sizeof(IoCompletionInfo));
776 lpo->request_type = SOCKET_RECV;
785 (LPWSAOVERLAPPED)lpo, NULL);
815 HeapFree(hHeapHandle, 0, lpo);
816 lpo = NULL;
961 IoCompletionInfo *lpo)
997 ISC_LIST_ENQUEUE(lpo->bufferlist, cpbuffer, link);
1379 IoCompletionInfo *lpo;
1383 lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle,
1386 RUNTIME_CHECK(lpo != NULL);
1387 lpo->request_type = SOCKET_SEND;
1388 lpo->dev = dev;
1389 mh = &lpo->messagehdr;
1391 ISC_LIST_INIT(lpo->bufferlist);
1393 build_msghdr_send(sock, dev, mh, cmsg, sock->iov, lpo);
1395 *nbytes = internal_sendmsg(sock, lpo, mh, 0, send_errno);
2036 internal_accept(isc_socket_t *sock, IoCompletionInfo *lpo, int accept_errno) {
2060 adev = lpo->adev;
2079 ISCGetAcceptExSockaddrs(lpo->acceptbuffer, 0,
2127 HeapFree(hHeapHandle, 0, lpo->acceptbuffer);
2128 lpo->acceptbuffer = NULL;
2136 internal_connect(isc_socket_t *sock, IoCompletionInfo *lpo, int connect_errno) {
2153 cdev = lpo->cdev;
2315 struct msghdr *messagehdr, int nbytes, int send_errno, IoCompletionInfo *lpo)
2331 buffer = ISC_LIST_HEAD(lpo->bufferlist);
2333 ISC_LIST_DEQUEUE(lpo->bufferlist, buffer, link);
2341 buffer = ISC_LIST_HEAD(lpo->bufferlist);
2426 // Additionally, the lpo argument is re-used here, and must not be freed
2430 restart_accept(isc_socket_t *parent, IoCompletionInfo *lpo)
2432 isc_socket_t *nsock = lpo->adev->newsocket;
2448 memset(&lpo->overlapped, 0, sizeof(lpo->overlapped));
2452 lpo->acceptbuffer, /* Buffer for initial Recv */
2456 (LPDWORD)&lpo->received_bytes, /* Bytes Recved */
2457 (LPOVERLAPPED)lpo /* Overlapped structure */
2476 IoCompletionInfo *lpo = NULL;
2510 (LPWSAOVERLAPPED *)&lpo,
2512 if (lpo == NULL) /* Received request to exit */
2517 request = lpo->request_type;
2560 if (senddone_is_active(sock, lpo->dev)) {
2561 lpo->dev->result = isc_result;
2564 send_senddone_event(sock, &lpo->dev);
2575 if (acceptdone_is_active(sock, lpo->adev)) {
2576 if (restart_accept(sock, lpo) == ISC_R_SUCCESS) {
2590 if (acceptdone_is_active(sock, lpo->adev)) {
2591 closesocket(lpo->adev->newsocket->fd);
2592 lpo->adev->newsocket->fd = INVALID_SOCKET;
2593 lpo->adev->newsocket->references--;
2594 free_socket(&lpo->adev->newsocket, __LINE__);
2595 lpo->adev->result = isc_result;
2598 send_acceptdone_event(sock, &lpo->adev);
2607 if (connectdone_is_active(sock, lpo->cdev)) {
2616 if (lpo != NULL)
2617 HeapFree(hHeapHandle, 0, lpo);
2621 messagehdr = &lpo->messagehdr;
2628 internal_send(sock, lpo->dev, messagehdr, nbytes, errstatus, lpo);
2631 internal_accept(sock, lpo, errstatus);
2634 internal_connect(sock, lpo, errstatus);
2638 if (lpo != NULL)
2639 HeapFree(hHeapHandle, 0, lpo);
3391 IoCompletionInfo *lpo;
3463 lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle,
3466 RUNTIME_CHECK(lpo != NULL);
3467 lpo->acceptbuffer = (void *)HeapAlloc(hHeapHandle, HEAP_ZERO_MEMORY,
3469 RUNTIME_CHECK(lpo->acceptbuffer != NULL);
3471 lpo->adev = adev;
3472 lpo->request_type = SOCKET_ACCEPT;
3476 lpo->acceptbuffer, /* Buffer for initial Recv */
3480 (LPDWORD)&lpo->received_bytes, /* Bytes Recved */
3481 (LPOVERLAPPED)lpo /* Overlapped structure */
3508 IoCompletionInfo *lpo;
3587 lpo = (IoCompletionInfo *)HeapAlloc(hHeapHandle,
3590 lpo->cdev = cdev;
3591 lpo->request_type = SOCKET_CONNECT;
3595 NULL, 0, NULL, (LPOVERLAPPED)lpo);