📄 1394common.h
字号:
/**\file 1394common.h
* \brief IOCTL interface header for 1394cmdr.sys
* \ingroup capi
*
* Modified from 1394common.h as found in the Windows DDK
*/
/*
* Version 6.4
*
* Copyright 8/2006
*
* Christopher Baker
* Robotics Institute
* Carnegie Mellon University
* Pittsburgh, PA
*
* Copyright 5/2000
*
* Iwan Ulrich
* Robotics Institute
* Carnegie Mellon University
* Pittsburgh, PA
*
* This file is part of the CMU 1394 Digital Camera Driver
*
* The CMU 1394 Digital Camera Driver is free software; you can redistribute
* it and/or modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of the License,
* or (at your option) any later version.
*
* The CMU 1394 Digital Camera Driver is distributed in the hope that it will
* be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with the CMU 1394 Digital Camera Driver; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef _1394_COMMON_H_
#define _1394_COMMON_H_
#ifdef __cplusplus
extern "C" {
#endif
// 1394cmdr GUID is {F390415A-2EAF-4fd4-ACCC-3D17D38F2898}
DEFINE_GUID(GUID_1394CMDR, 0xf390415a, 0x2eaf, 0x4fd4, 0xac, 0xcc, 0x3d, 0x17, 0xd3, 0x8f, 0x28, 0x98);
#define GUID_1394CMDR_STR "F390415A-2EAF-4fd4-ACCC-3D17D38F2898"
//
// define's used to make sure the dll/sys driver are in synch
//
#define CMDR_MAJORVERSION 6
#define CMDR_MINORVERSION 4
#define CMDR_REVISION 4
#define CMDR_BUILD 128
#define CMDR_VERSIONSTRING "6.04.04.128"
//
// these guys are meant to be called from a ring 3 app
// call through the port device object
//
#define IOCTL_1394_TOGGLE_ENUM_TEST_ON CTL_CODE( \
FILE_DEVICE_UNKNOWN, \
0x88, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS \
)
#define IOCTL_1394_TOGGLE_ENUM_TEST_OFF CTL_CODE( \
FILE_DEVICE_UNKNOWN, \
0x89, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS \
)
//
// IOCTL info, needs to be visible for application
//
#define CMDR1394_IOCTL_INDEX 0x0800
/* old async I/O stuff, kept around for posterity
#define IOCTL_ASYNC_READ CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 2, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_ASYNC_WRITE CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 3, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
*/
#define IOCTL_ISOCH_LISTEN CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 13, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_ISOCH_QUERY_CURRENT_CYCLE_TIME CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 14, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_ISOCH_QUERY_RESOURCES CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 15, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_ISOCH_STOP CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 17, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_GET_LOCAL_HOST_INFORMATION CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 19, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
/*
#define IOCTL_GET_1394_ADDRESS_FROM_DEVICE_OBJECT CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 20, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_CONTROL CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 21, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
*/
#define IOCTL_GET_MAX_SPEED_BETWEEN_DEVICES CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 22, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
/*
#define IOCTL_SET_DEVICE_XMIT_PROPERTIES CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 23, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
*/
#define IOCTL_GET_CONFIGURATION_INFORMATION CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 24, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_BUS_RESET CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 25, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_GET_GENERATION_COUNT CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 26, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_SEND_PHY_CONFIGURATION_PACKET CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 27, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_BUS_RESET_NOTIFICATION CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 28, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_ASYNC_STREAM CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 29, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
/*
#define IOCTL_SET_LOCAL_HOST_INFORMATION CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 30, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
*/
#define IOCTL_SET_ADDRESS_DATA CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 40, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
#define IOCTL_GET_ADDRESS_DATA CTL_CODE( FILE_DEVICE_UNKNOWN, \
CMDR1394_IOCTL_INDEX + 41, \
METHOD_BUFFERED, \
FILE_ANY_ACCESS)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -