Lines Matching defs:iHandle
205 static void FreeScannerState (int iHandle);
207 /* \return 1 if iHandle is a valid member of gOpenScanners, 0 otherwise */
208 static int ValidScannerNumber (int iHandle);
276 int iHandle;
281 for (iHandle = 0; iHandle < MAX_SCANNERS; ++iHandle)
283 if (gOpenScanners[iHandle])
284 FreeScannerState (iHandle);
463 int iHandle = -1, i;
476 iHandle = i;
480 if (iHandle == -1)
488 if (!(gOpenScanners[iHandle] = malloc (sizeof (struct ScannerState))))
495 memset (gOpenScanners[iHandle], 0, sizeof (struct ScannerState));
496 InitComBuf (&gOpenScanners[iHandle]->m_buf);
497 InitComBuf (&gOpenScanners[iHandle]->m_imageData);
498 InitComBuf (&gOpenScanners[iHandle]->m_pageInfo);
499 gOpenScanners[iHandle]->m_xres = ntohs (200);
500 gOpenScanners[iHandle]->m_yres = ntohs (200);
501 gOpenScanners[iHandle]->m_composition = ntohl (0x01);
502 gOpenScanners[iHandle]->m_brightness = 0x80;
503 gOpenScanners[iHandle]->m_compression = ntohl (0x08);
504 gOpenScanners[iHandle]->m_fileType = ntohl (0x02);
517 if (!(gOpenScanners[iHandle]->m_udpFd =
526 memset (&gOpenScanners[iHandle]->m_sockAddr, 0,
527 sizeof (gOpenScanners[iHandle]->m_sockAddr));
528 gOpenScanners[iHandle]->m_sockAddr.sin_family = AF_INET;
529 gOpenScanners[iHandle]->m_sockAddr.sin_port = htons (gScannerPort);
530 memcpy (&gOpenScanners[iHandle]->m_sockAddr.sin_addr,
532 if (connect (gOpenScanners[iHandle]->m_udpFd,
533 (struct sockaddr *) &gOpenScanners[iHandle]->m_sockAddr,
534 sizeof (gOpenScanners[iHandle]->m_sockAddr)))
543 sprintf (gOpenScanners[iHandle]->m_regName, "Sane");
546 gethostname (gOpenScanners[iHandle]->m_regName, REG_NAME_SIZE);
549 gOpenScanners[iHandle]->m_regName[REG_NAME_SIZE - 1] = 0;
552 if ((pDot = strchr (gOpenScanners[iHandle]->m_regName, '.')))
556 gOpenScanners[iHandle]->m_regName);
560 *handle = (SANE_Handle) (unsigned long)iHandle;
566 if (iHandle != -1)
567 FreeScannerState (iHandle);
633 int iHandle = (int) (unsigned long)handle;
637 if (!gOpenScanners[iHandle])
641 memcpy( & pageInfo, gOpenScanners[iHandle]->m_pageInfo.m_pBuf, sizeof( pageInfo ) );
649 gOpenScanners[iHandle]->m_numPages,
655 iHandle, (unsigned long)gOpenScanners[iHandle]->m_imageData.m_used, imageSize);
659 if (gOpenScanners[iHandle]->m_imageData.m_used < imageSize)
662 iHandle, gOpenScanners[iHandle]->m_imageData.m_used, imageSize);
688 int iHandle, nread;
695 iHandle = (int) (unsigned long)handle;
697 DBG( 5, "sane_start: %x\n", iHandle );
700 if (!ValidScannerNumber (iHandle))
704 if (gOpenScanners[iHandle]->m_imageData.m_used){
707 PopFromComBuf ( & gOpenScanners[iHandle]->m_pageInfo, sizeof( struct PageInfo ) );
714 if (getsockname (gOpenScanners[iHandle]->m_udpFd, (struct sockaddr *) &myAddr, &addrSize))
727 gOpenScanners[iHandle]->m_regName,
728 strlen (gOpenScanners[iHandle]->m_regName));
742 send (gOpenScanners[iHandle]->m_udpFd, buf.m_pBuf, buf.m_used, 0);
746 gOpenScanners[iHandle]->m_bFinish = 0;
747 while (!gOpenScanners[iHandle]->m_bFinish)
752 FD_SET (gOpenScanners[iHandle]->m_udpFd, &readFds);
761 if (!select (gOpenScanners[iHandle]->m_udpFd + 1,
767 read (gOpenScanners[iHandle]->m_udpFd, sockBuf, sizeof (sockBuf));
776 if (ProcessUdpResponse (sockBuf, nread, gOpenScanners[iHandle]))
785 if ( gOpenScanners[iHandle]->m_bCancelled ) status = SANE_STATUS_CANCELLED;
802 int iHandle = (int) (unsigned long)handle;
806 DBG( 5, "sane_read: %x (max_length=%d)\n", iHandle, max_length );
810 if (!gOpenScanners[iHandle])
814 if ( ( ! gOpenScanners[iHandle]->m_imageData.m_used )
815 || ( ! gOpenScanners[iHandle]->m_numPages ) )
818 PopFromComBuf ( & gOpenScanners[iHandle]->m_pageInfo, sizeof( struct PageInfo ) );
824 memcpy( & pageInfo, gOpenScanners[iHandle]->m_pageInfo.m_pBuf, sizeof( pageInfo ) );
837 gOpenScanners[iHandle]->m_bytesRead += dataSize;
841 memcpy( gOpenScanners[iHandle]->m_pageInfo.m_pBuf, & pageInfo, sizeof( pageInfo ) );
847 gOpenScanners[iHandle]->m_numPages--;
853 dataSize, gOpenScanners[iHandle]->m_bytesRead, pageInfo.m_bytesRemaining ,
854 (unsigned long)(gOpenScanners[iHandle]->m_imageData.m_used - dataSize),
859 memcpy (data, gOpenScanners[iHandle]->m_imageData.m_pBuf, dataSize);
860 if (PopFromComBuf (&gOpenScanners[iHandle]->m_imageData, dataSize))
874 int iHandle = (int) (unsigned long)handle;
876 DBG( 5, "sane_cancel: %x\n", iHandle );
879 gOpenScanners[iHandle]->m_bFinish = 1;
880 gOpenScanners[iHandle]->m_bCancelled = 1;
1289 FreeScannerState (int iHandle)
1293 if (!ValidScannerNumber (iHandle))
1297 if (gOpenScanners[iHandle]->m_udpFd)
1298 close (gOpenScanners[iHandle]->m_udpFd);
1301 FreeComBuf (&gOpenScanners[iHandle]->m_buf);
1304 FreeComBuf (&gOpenScanners[iHandle]->m_imageData);
1307 free (gOpenScanners[iHandle]);
1310 gOpenScanners[iHandle] = NULL;
1316 /* \return 1 if iHandle is a valid member of gOpenScanners, 0 otherwise */
1318 ValidScannerNumber (int iHandle)
1321 if ((iHandle < 0) || (iHandle >= MAX_SCANNERS))
1323 DBG (1, "ValidScannerNumber: invalid scanner index %d", iHandle);
1328 if (!gOpenScanners[iHandle])
1330 DBG (1, "ValidScannerNumber: NULL scanner struct %d", iHandle);