• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10/SmartcardCCID-55008/libusb/libusb/libusb/os/

Lines Matching refs:_index

101 static __inline BOOL cancel_io(int _index)
103 if ((_index < 0) || (_index >= MAX_FDS)) {
107 if ( (poll_fd[_index].fd < 0) || (poll_fd[_index].handle == INVALID_HANDLE_VALUE)
108 || (poll_fd[_index].handle == 0) || (poll_fd[_index].overlapped == NULL) ) {
112 return (*pCancelIoEx)(poll_fd[_index].handle, poll_fd[_index].overlapped);
114 if (_poll_fd[_index].thread_id == GetCurrentThreadId()) {
115 return CancelIo(poll_fd[_index].handle);
394 void _free_index(int _index)
397 cancel_io(_index);
399 if ( (poll_fd[_index].handle != INVALID_HANDLE_VALUE) && (poll_fd[_index].handle != 0)
400 && (GetFileType(poll_fd[_index].handle) == FILE_TYPE_UNKNOWN) ) {
401 _close(poll_fd[_index].fd);
405 if (_poll_fd[_index].original_handle != INVALID_HANDLE_VALUE) {
406 CloseHandle(poll_fd[_index].handle);
408 _poll_fd[_index].original_handle = INVALID_HANDLE_VALUE;
409 _poll_fd[_index].thread_id = 0;
411 free_overlapped(poll_fd[_index].overlapped);
412 poll_fd[_index] = INVALID_WINFD;
422 int _index;
426 _index = _fd_to_index_and_lock(fd);
427 if (_index < 0) {
430 _free_index(_index);
431 LeaveCriticalSection(&_poll_fd[_index].mutex);
523 int _index, object_index, triggered;
552 _index = _fd_to_index_and_lock(fds[i].fd);
553 poll_dbg("fd[%d]=%d: (overlapped=%p) got events %04X", i, poll_fd[_index].fd, poll_fd[_index].overlapped, fds[i].events);
555 if ( (_index < 0) || (poll_fd[_index].handle == INVALID_HANDLE_VALUE)
556 || (poll_fd[_index].handle == 0) || (poll_fd[_index].overlapped == NULL)) {
559 if (_index >= 0) {
560 LeaveCriticalSection(&_poll_fd[_index].mutex);
568 if ((fds[i].events & POLLIN) && (poll_fd[_index].rw != RW_READ)) {
572 LeaveCriticalSection(&_poll_fd[_index].mutex);
577 if ((fds[i].events & POLLOUT) && (poll_fd[_index].rw != RW_WRITE)) {
581 LeaveCriticalSection(&_poll_fd[_index].mutex);
587 if ( (HasOverlappedIoCompleted(poll_fd[_index].overlapped))
588 || (HasOverlappedIoCompletedSync(poll_fd[_index].overlapped)) ) {
594 handles_to_wait_on[nb_handles_to_wait_on] = poll_fd[_index].overlapped->hEvent;
598 LeaveCriticalSection(&_poll_fd[_index].mutex);
614 _index = _fd_to_index_and_lock(fds[i].fd);
617 if (_index >= 0) {
618 LeaveCriticalSection(&_poll_fd[_index].mutex);
644 int _index;
649 _index = _fd_to_index_and_lock(fd);
651 if (_index < 0) {
654 if (poll_fd[_index].overlapped != NULL) {
656 CloseHandle(poll_fd[_index].overlapped->hEvent);
657 free(poll_fd[_index].overlapped);
659 r = _close(poll_fd[_index].fd);
663 poll_fd[_index] = INVALID_WINFD;
664 LeaveCriticalSection(&_poll_fd[_index].mutex);
674 int _index;
683 _index = _fd_to_index_and_lock(fd);
685 if ( (_index < 0) || (poll_fd[_index].overlapped == NULL) ) {
687 if (_index >= 0) {
688 LeaveCriticalSection(&_poll_fd[_index].mutex);
693 poll_dbg("set pipe event (fd = %d, thread = %08X)", _index, GetCurrentThreadId());
694 SetEvent(poll_fd[_index].overlapped->hEvent);
695 poll_fd[_index].overlapped->Internal = STATUS_WAIT_0;
698 poll_fd[_index].overlapped->InternalHigh++;
700 LeaveCriticalSection(&_poll_fd[_index].mutex);
709 int _index;
719 _index = _fd_to_index_and_lock(fd);
721 if (_index < 0) {
726 if (WaitForSingleObject(poll_fd[_index].overlapped->hEvent, INFINITE) != WAIT_OBJECT_0) {
732 poll_dbg("clr pipe event (fd = %d, thread = %08X)", _index, GetCurrentThreadId());
733 poll_fd[_index].overlapped->InternalHigh--;
735 if (poll_fd[_index].overlapped->InternalHigh <= 0) {
736 ResetEvent(poll_fd[_index].overlapped->hEvent);
737 poll_fd[_index].overlapped->Internal = STATUS_PENDING;
743 LeaveCriticalSection(&_poll_fd[_index].mutex);