亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sgl.c

?? pci卡驅動開發程序.該程序采用DMA方式傳輸
?? C
?? 第 1 頁 / 共 2 頁
字號:
/******************************************************************************
 * Copyright (c) 1997 - 1998 PLX Technology, Inc.
 * 
 * PLX Technology Inc. licenses this software under specific terms and
 * conditions.  Use of any of the software or derviatives thereof in any
 * product without a PLX Technology chip is strictly prohibited. 
 * 
 * PLX Technology, Inc. provides this software AS IS, WITHOUT ANY WARRANTY,
 * EXPRESS OR IMPLIED, INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF
 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  PLX makes no guarantee
 * or representations regarding the use of, or the results of the use of,
 * the software and documentation in terms of correctness, accuracy,
 * reliability, currentness, or otherwise; and you rely on the software,
 * documentation and results solely at your own risk.
 * 
 * IN NO EVENT SHALL PLX BE LIABLE FOR ANY LOSS OF USE, LOSS OF BUSINESS,
 * LOSS OF PROFITS, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES
 * OF ANY KIND.  IN NO EVENT SHALL PLX'S TOTAL LIABILITY EXCEED THE SUM
 * PAID TO PLX FOR THE PRODUCT LICENSED HEREUNDER.
 * 
 *****************************************************************************/

/******************************************************************************
 *
 * File Name: Sgl.c
 *
 * Module Name: 
 *
 * Description: This file contains an example of how to use the SGL DMA APIs.
 *
 * The project uses the following Preprocessor defines:
 *     NDEBUG, WIN32, PCI_CODE, LITTLE_ENDIAN.
 *
 *  The project options are: /nologo /MT /W3 /GX /O2 /I "..\..\..\inc"
 *                           /D "NDEBUG" /D "WIN32" /D  
 *                           /D "PCI_CODE" /D "LITTLE_ENDIAN" 
 *                           /Fp" .\Release/Sgl.pch" 
 *                           /YX /Fo".\Release/" /Fd".\Release/" /FD /c 
 * 
 * Revision:
 *     11-23-98 : Release 2.1 PCI SDK  (Vitana Corp.)
 *
 *****************************************************************************/

#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include "pcitypes.h"
#include "plxtypes.h"
#include "plx.h"
#include "pciapi.h"

#include <winioctl.h>
#include "ioctl.h"

/*++++++ Developer Data Section  ++++++++++++++++++++++++++++++++++++++++++++*/

/*  INSERT YOUR CONSTANTS HERE                                               */
/*  INSERT YOUR TYPEDEFS HERE                                                */
/*  INSERT YOUR GLOBAL DATA HERE                                             */
/*  INSERT YOUR MODULE GLOBAL DATA HERE                                      */
/*  INSERT YOUR MACROS HERE                                                  */

/*------ End Of Developer Data Section --------------------------------------*/


/*++++++ Developer Public Functions +++++++++++++++++++++++++++++++++++++++++*/

VOID SglTest(HANDLE drvHandle, DMA_CHANNEL dmaChannel);
VOID DescribeErrorCode(RETURN_CODE rc, FILE *fp);


/******************************************************************************
 *
 * Function Name: main()
 *
 * Description:
 *     This is the entry point for a developers application.
 *
 ******************************************************************************/
void 
main(
    int argc, 
    char * argv[]
){
    DEVICE_LOCATION device;
	HANDLE myPlxDevice;
    RETURN_CODE rc;
    U32 c;
    U32 plxDeviceCount, i, j;

    /*This tests the SGL DMA functions of the PLX PCI SDK API*/
    device.BusNumber  = MINUS_ONE_LONG;
    device.SlotNumber = MINUS_ONE_LONG;
    device.DeviceId   = MINUS_ONE_LONG;
    device.VendorId   = MINUS_ONE_LONG;
    device.SerialNumber[0] = '\0';

    /* Get the total number of supported devices */
    plxDeviceCount = FIND_AMOUNT_MATCHED;
    rc = PlxPciDeviceFind(&device, &plxDeviceCount);

    if ((rc != ApiSuccess) || (plxDeviceCount == 0))
    {
        printf("\nError in scanning for devices:\n");
        printf("No devices found\n");
        printf ("Press any key to exit.....");
        getch();
        return;
    }

    /* Check the number of devices found */
    if (plxDeviceCount > 1)
    {
        /* Display device information for each one */
        printf("\nMore than one PLX device found!!\n");
        printf("Available devices are:\n\n");
        printf("#  Bus Slot VendorId DeviceId\n");
        printf("-----------------------------\n");
        for (i=0; i < plxDeviceCount; i++)
        {
            device.BusNumber  = MINUS_ONE_LONG;
            device.SlotNumber = MINUS_ONE_LONG;
            device.DeviceId   = MINUS_ONE_LONG;
            device.VendorId   = MINUS_ONE_LONG;
            device.SerialNumber[0] = '\0';
            j = i;
            rc = PlxPciDeviceFind(&device, &j);
            if (rc != ApiSuccess)
            {
                printf("\nSCANNING ERROR\n");
                printf("Press any key to exit\n");
                getch();
                return;
            }

            printf("%d  %d   0x%02x %04x     %04x\n", 
                                    i, 
                                    device.BusNumber, 
                                    device.SlotNumber, 
                                    device.VendorId, 
                                    device.DeviceId);
        }

        printf("\nPlease select a device:");
        scanf("%d", &i);

        device.BusNumber  = MINUS_ONE_LONG;
        device.SlotNumber = MINUS_ONE_LONG;
        device.DeviceId   = MINUS_ONE_LONG;
        device.VendorId   = MINUS_ONE_LONG;
        device.SerialNumber[0] = '\0';

        /* Select the correct device */
        rc = PlxPciDeviceFind(&device, &i);

        if (rc != ApiSuccess)
        {
            printf("\nInvalid device selected\n");
            printf("Press any key to exit\n");
            getch();
            return;
        }
    }
    else
    {
        printf("\nOnly one PLX device found\n");
    }

    printf ("Opening device...\n");

    rc = PlxPciDeviceOpen (&device, &myPlxDevice);
    /*Open a handle to a PLX device,*/
    if (rc != ApiSuccess)
    {
        printf ("\n\nError in opening device.\n");
        printf ("Returned code %d\n",rc);
        printf("Trying 9054...\n");

        device.BusNumber  = MINUS_ONE_LONG;
        device.SlotNumber = MINUS_ONE_LONG;
        device.DeviceId   = MINUS_ONE_LONG;
        device.VendorId   = MINUS_ONE_LONG;
        strcpy (device.SerialNumber, "pci9054-0");

        rc = PlxPciDeviceOpen (&device, &myPlxDevice);
        /*Open a handle to a PLX device,*/
        if (rc != ApiSuccess)
        {
            printf ("\n\nError in opening device.\n");
            DescribeErrorCode(rc, stdout);
            printf("Press any thing to exit\n");
            getch();
            return;
        }
    }

    printf("\n\nDevice information.");
	printf("\nBus = 0x%x, Slot = 0x%x, Vendor ID = 0x%x, Device ID = 0x%x.\n\n", 
				device.BusNumber,
				device.SlotNumber,
				device.VendorId,
				device.DeviceId);

    printf("\nPlease select a DMA channel to use\n");
    printf("1. Sgl test with DMA channel 0\n");
    printf("2. Sgl test with DMA channel 1\n");
    printf("Anything else exits\n");
    printf("Selection:");
    scanf("%d",&c);
    if (c == 1)
    {
        SglTest(myPlxDevice, PrimaryPciChannel0);
    }
    else if (c == 2)
    {
        SglTest(myPlxDevice, PrimaryPciChannel1);
    }
    else
    {
        printf("Invalid choice, exiting\n");
    }

    printf("Press any key to exit\n");
    getch();

    PlxPciDeviceClose(myPlxDevice);

   
    return;
}/* end main */


/******************************************************************************
 * Function: SglTest
 *
 * Description: Perform the SGL test
 *
 ******************************************************************************/
VOID
SglTest(HANDLE drvHandle, DMA_CHANNEL dmaChannel)
{
    DMA_CHANNEL_DESC desc;
    DMA_TRANSFER_ELEMENT dmaData;
    RETURN_CODE rc;
    U32 localStartOffset;
    U32 totalSize;
    U32 *bufFrom = NULL;
    U32 *bufTo = NULL;
    U32 *buf = NULL;
    U32 count;
    U32 value;
    DWORD startTime, transferTime;

    /* Setup DMA configuration structure */
    desc.EnableReadyInput = 1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区二区三区激情| 夜夜嗨av一区二区三区| 欧美无人高清视频在线观看| 国产在线精品一区二区夜色 | 国产精品久久三区| 91精品国产综合久久精品图片| 国产sm精品调教视频网站| 亚洲图片一区二区| 国产精品欧美精品| 精品久久一二三区| 欧美日韩三级在线| 91丝袜呻吟高潮美腿白嫩在线观看| 国产在线视频不卡二| 蜜桃一区二区三区四区| 亚洲成人av电影在线| 1000精品久久久久久久久| 久久精品夜色噜噜亚洲a∨| 欧美久久久影院| 欧美性受xxxx| 欧美视频中文字幕| 91天堂素人约啪| 91亚洲精品乱码久久久久久蜜桃| 国产精品一二三区在线| 激情综合五月婷婷| 美国一区二区三区在线播放| 亚洲国产日韩综合久久精品| 亚洲欧洲一区二区在线播放| 久久久青草青青国产亚洲免观| 日韩午夜三级在线| 91麻豆精品国产自产在线| 欧美日韩三级一区二区| 欧美熟乱第一页| 欧美喷水一区二区| 7777精品伊人久久久大香线蕉完整版 | 色菇凉天天综合网| 色综合天天天天做夜夜夜夜做| 处破女av一区二区| 成人性视频免费网站| 国产成人午夜高潮毛片| 国产盗摄一区二区| 国产精品中文欧美| 国产成人免费视频网站| 豆国产96在线|亚洲| 国产成人精品一区二| 国产成人精品一区二| fc2成人免费人成在线观看播放| 国产一区二区0| 国产精品 日产精品 欧美精品| 国产一区二区三区久久悠悠色av| 国产一区不卡精品| av一二三不卡影片| 色婷婷久久一区二区三区麻豆| 在线视频中文字幕一区二区| 欧美绝品在线观看成人午夜影视| 欧美一区二区三区男人的天堂| 欧美一区二区三区免费在线看| 日韩欧美中文字幕制服| 久久久一区二区三区| 国产精品久久久久久久久免费相片| 亚洲欧洲精品一区二区三区不卡| 中文字幕一区二区三区在线不卡| 亚洲女同ⅹxx女同tv| 亚洲小少妇裸体bbw| 久久99久国产精品黄毛片色诱| 国产尤物一区二区在线| 91蜜桃在线免费视频| 欧美福利视频导航| 日本一区二区三区在线观看| 亚洲视频图片小说| 青青草97国产精品免费观看| 国产麻豆视频精品| 欧美四级电影网| 久久久99精品免费观看| 一个色在线综合| 久久99精品久久久久久动态图| 成人av在线看| 884aa四虎影成人精品一区| 久久久不卡网国产精品一区| 一区二区三区四区视频精品免费 | 日韩成人免费在线| 国产iv一区二区三区| 欧美少妇一区二区| 亚洲国产成人在线| 日韩专区欧美专区| av综合在线播放| 日韩欧美www| 亚洲精品视频免费看| 理论电影国产精品| 色噜噜久久综合| 久久综合九色综合97_久久久| 亚洲男人天堂一区| 国产成人亚洲综合a∨婷婷图片| 欧美日韩激情在线| 国产精品国产三级国产普通话三级| 日韩在线a电影| 91网站在线观看视频| 精品久久久久久久久久久久久久久久久| 中文字幕中文字幕一区| 久久99热这里只有精品| 欧美色精品在线视频| 国产精品热久久久久夜色精品三区 | 最新国产の精品合集bt伙计| 六月丁香综合在线视频| 在线精品视频一区二区| 欧美韩国日本不卡| 精品一区免费av| 欧美日韩色综合| 一区二区三区欧美| www.综合网.com| 久久蜜臀中文字幕| 久久99久久99小草精品免视看| 欧美三级乱人伦电影| 亚洲乱码中文字幕| 丰满白嫩尤物一区二区| 久久综合九色综合欧美亚洲| 免费日韩伦理电影| 5566中文字幕一区二区电影| 亚洲综合男人的天堂| 成人av小说网| 日本一区二区三区视频视频| 蜜臂av日日欢夜夜爽一区| 在线不卡中文字幕播放| 亚洲成人激情自拍| 欧美色老头old∨ideo| 亚洲影视在线播放| 欧美中文字幕不卡| 亚洲一区二区免费视频| 色吧成人激情小说| 一区二区三区国产豹纹内裤在线| 91捆绑美女网站| 亚洲男女一区二区三区| 91美女视频网站| 亚洲美女屁股眼交3| 色综合天天性综合| 亚洲精品乱码久久久久久久久 | 理论电影国产精品| 欧美电影免费观看高清完整版在线| 美腿丝袜亚洲一区| 欧美成人一区二区三区| 另类小说综合欧美亚洲| 337p粉嫩大胆色噜噜噜噜亚洲| 国产一区二三区| 亚洲欧洲一区二区在线播放| 99国内精品久久| 亚洲午夜羞羞片| 欧美精品视频www在线观看| 天天射综合影视| 欧美一区二区在线视频| 久久疯狂做爰流白浆xx| 久久免费午夜影院| 不卡一区二区中文字幕| 一区二区三区久久| 69精品人人人人| 国产乱码精品一区二区三| 国产精品无人区| 欧美吻胸吃奶大尺度电影| 免费一级片91| 欧美国产日本视频| 欧美三区在线观看| 捆绑调教美女网站视频一区| 久久久久国产一区二区三区四区| 成人激情小说网站| 亚洲福利国产精品| 精品少妇一区二区| aa级大片欧美| 日韩高清不卡一区二区三区| 久久综合999| 欧洲av在线精品| 久久国产夜色精品鲁鲁99| 中文字幕欧美三区| 欧美日韩一级黄| 国产乱子轮精品视频| 亚洲欧美国产高清| 精品久久久久99| 色88888久久久久久影院野外| 天天影视色香欲综合网老头| 国产亚洲1区2区3区| 欧美日韩国产一二三| 国产盗摄精品一区二区三区在线| 亚洲猫色日本管| 精品久久久网站| 欧美手机在线视频| 粉嫩一区二区三区在线看| 肉丝袜脚交视频一区二区| 亚洲国产精品成人综合| 欧美日韩一区高清| 成人动漫中文字幕| 青青青爽久久午夜综合久久午夜| 国产精品女同互慰在线看| 欧美一区二区三区四区五区| 91美女片黄在线观看| 国产一区二区视频在线| 五月天网站亚洲| 亚洲欧洲日韩综合一区二区| 日韩亚洲欧美一区| 欧美做爰猛烈大尺度电影无法无天| 国产成人一级电影| 久热成人在线视频| 亚洲成人免费影院| 怡红院av一区二区三区|