⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 struct-v4l2.c

📁 It s a tool designed to extract as much information as possible from Bluetooth devices without the r
💻 C
📖 第 1 页 / 共 2 页
字号:
	.length = 24,},{	.type   = STRUCT,	.name   = "frameperiod",	.desc   = desc_v4l2_fract,	.length = sizeof(struct v4l2_fract),},{	.type   = UINT32,	.name   = "framelines",},{	/* end of list */}};struct struct_desc desc_v4l2_input[] = {{	.type   = UINT32,	.name   = "index",},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = ENUM32,	.name   = "type",	.enums  = desc_input_type,	.length = sizeof(desc_input_type) / sizeof(char*),},{	.type   = UINT32,	.name   = "audioset",},{	.type   = UINT32,	.name   = "tuner",},{	.type   = BITS64,	.name   = "std",	.bits   = bits_standard},{	.type   = BITS32,	.name   = "status",	.bits   = bits_input_status,},{	/* end of list */}};struct struct_desc desc_v4l2_output[] = {{	.type   = UINT32,	.name   = "index",},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = UINT32,	.name   = "type",},{	.type   = UINT32,	.name   = "audioset",},{	.type   = UINT32,	.name   = "modulator",},{	.type   = BITS64,	.name   = "std",	.bits   = bits_standard},{	/* end of list */}};struct struct_desc desc_v4l2_control[] = {{	.type   = UINT32,	.name   = "id",},{	.type   = SINT32,	.name   = "value",},{	/* end of list */}};struct struct_desc desc_v4l2_queryctrl[] = {{	.type   = UINT32,	.name   = "id",},{	.type   = ENUM32,	.name   = "type",	.enums  = desc_v4l2_ctrl_type,	.length = sizeof(desc_v4l2_buf_type) / sizeof(char*),},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = SINT32,	.name   = "minimum",},{	.type   = SINT32,	.name   = "maximum",},{	.type   = SINT32,	.name   = "step",},{	.type   = SINT32,	.name   = "default_value",},{	.type   = UINT32,	.name   = "flags",},{	/* end of list */}};struct struct_desc desc_v4l2_querymenu[] = {{	.type   = UINT32,	.name   = "id",},{	.type   = UINT32,	.name   = "index",},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = UINT32,	.name   = "reserved",},{	/* end of list */}};struct struct_desc desc_v4l2_tuner[] = {{	.type   = UINT32,	.name   = "index",},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = ENUM32,	.name   = "type",	.enums  = desc_v4l2_tuner_type,	.length = sizeof(desc_v4l2_tuner_type) / sizeof(char*),},{	.type   = BITS32,	.name   = "capability",	.bits   = bits_tuner_cap,},{	.type   = UINT32,	.name   = "rangelow",},{	.type   = UINT32,	.name   = "rangehigh",},{	.type   = BITS32,	.name   = "rxsubchans",	.bits   = bits_tuner_rx,},{	.type   = ENUM32,	.name   = "audmode",	.enums  = desc_tuner2_mode,	.length = sizeof(desc_tuner2_mode) / sizeof(char*),},{	.type   = SINT32,	.name   = "signal",},{	.type   = SINT32,	.name   = "afc",},{	/* end of list */}};struct struct_desc desc_v4l2_modulator[] = {{	.type   = UINT32,	.name   = "index",},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = UINT32,	.name   = "capability",},{	.type   = UINT32,	.name   = "rangelow",},{	.type   = UINT32,	.name   = "rangehigh",},{	.type   = UINT32,	.name   = "txsubchans",},{	/* end of list */}};struct struct_desc desc_v4l2_frequency[] = {{	.type   = UINT32,	.name   = "tuner",},{	.type   = ENUM32,	.name   = "type",	.enums  = desc_v4l2_tuner_type,	.length = sizeof(desc_v4l2_tuner_type) / sizeof(char*),},{	.type   = UINT32,	.name   = "frequency",},{	/* end of list */}};struct struct_desc desc_v4l2_audio[] = {{	.type   = UINT32,	.name   = "index",},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = UINT32,	.name   = "capability",},{	.type   = UINT32,	.name   = "mode",},{	/* end of list */}};struct struct_desc desc_v4l2_audioout[] = {{	.type   = UINT32,	.name   = "index",},{	.type   = STRING,	.name   = "name",	.length = 32,},{	.type   = UINT32,	.name   = "capability",},{	.type   = UINT32,	.name   = "mode",},{	/* end of list */}};struct struct_desc desc_v4l2_vbi_format[] = {{	.type   = UINT32,	.name   = "sampling_rate",},{	.type   = UINT32,	.name   = "offset",},{	.type   = UINT32,	.name   = "samples_per_line",},{	.type   = FOURCC,	.name   = "sample_format",},{	.type   = UINT32,	.name   = "start[0]",},{	.type   = UINT32,	.name   = "start[1]",},{	.type   = UINT32,	.name   = "count[0]",},{	.type   = UINT32,	.name   = "count[1]",},{	.type   = UINT32,	.name   = "flags",},{	/* end of list */}};struct struct_desc desc_v4l2_format[] = {{	.type   = ENUM32,	.name   = "type",	.enums  = desc_v4l2_buf_type,	.length = sizeof(desc_v4l2_buf_type) / sizeof(char*),},{	.type   = UNION,	.name   = "fmt",	.u = {{		.value = V4L2_BUF_TYPE_VIDEO_CAPTURE,		.name  = "pix",		.desc  = desc_v4l2_pix_format,	},{		.value = V4L2_BUF_TYPE_VIDEO_OVERLAY,		.name  = "win",		.desc  = desc_v4l2_window,	},{		.value = V4L2_BUF_TYPE_VBI_CAPTURE,		.name  = "vbi",		.desc  = desc_v4l2_vbi_format,	},{		/* end of list */	}},},{	/* end of list */}};struct struct_desc desc_v4l2_streamparm[] = {{	.type   = ENUM32,	.name   = "type",	.enums  = desc_v4l2_buf_type,	.length = sizeof(desc_v4l2_buf_type) / sizeof(char*),},{	/* FIXME ... */	/* end of list */}};struct struct_desc desc_v4l2_std_id[] = {{	.type   = BITS64,	.name   = "std",	.bits   = bits_standard,},{	/* end of list */}};/* ---------------------------------------------------------------------- */struct ioctl_desc ioctls_v4l2[256] = {	[_IOC_NR(VIDIOC_QUERYCAP)] = {		.name = "VIDIOC_QUERYCAP",		.desc = desc_v4l2_capability,	},	[_IOC_NR(VIDIOC_ENUM_FMT)] = {		.name = "VIDIOC_ENUM_FMT",		.desc = desc_v4l2_fmtdesc,	},	[_IOC_NR(VIDIOC_G_FMT)] = {		.name = "VIDIOC_G_FMT",		.desc = desc_v4l2_format,	},	[_IOC_NR(VIDIOC_S_FMT)] = {		.name = "VIDIOC_S_FMT",		.desc = desc_v4l2_format,	},#if 0	[_IOC_NR(VIDIOC_G_COMP)] = {		.name = "VIDIOC_G_COMP",		.desc = desc_v4l2_compression,	},	[_IOC_NR(VIDIOC_S_COMP)] = {		.name = "VIDIOC_S_COMP",		.desc = desc_v4l2_compression,	},#endif	[_IOC_NR(VIDIOC_REQBUFS)] = {		.name = "VIDIOC_REQBUFS",		.desc = desc_v4l2_requestbuffers,	},	[_IOC_NR(VIDIOC_QUERYBUF)] = {		.name = "VIDIOC_QUERYBUF",		.desc = desc_v4l2_buffer,	},	[_IOC_NR(VIDIOC_G_FBUF)] = {		.name = "VIDIOC_G_FBUF",		.desc = desc_v4l2_framebuffer,	},	[_IOC_NR(VIDIOC_S_FBUF)] = {		.name = "VIDIOC_S_FBUF",		.desc = desc_v4l2_framebuffer,	},	[_IOC_NR(VIDIOC_OVERLAY)] = {		.name = "VIDIOC_OVERLAY",		.desc = desc_int,	},	[_IOC_NR(VIDIOC_QBUF)] = {		.name = "VIDIOC_QBUF",		.desc = desc_v4l2_buffer,	},	[_IOC_NR(VIDIOC_DQBUF)] = {		.name = "VIDIOC_DQBUF",		.desc = desc_v4l2_buffer,	},	[_IOC_NR(VIDIOC_STREAMON)] = {		.name = "VIDIOC_STREAMON",		.desc = desc_int,	},	[_IOC_NR(VIDIOC_STREAMOFF)] = {		.name = "VIDIOC_STREAMOFF",		.desc = desc_int,	},	[_IOC_NR(VIDIOC_G_PARM)] = {		.name = "VIDIOC_G_PARM",		.desc = desc_v4l2_streamparm,	},	[_IOC_NR(VIDIOC_S_PARM)] = {		.name = "VIDIOC_S_PARM",		.desc = desc_v4l2_streamparm,	},	[_IOC_NR(VIDIOC_G_STD)] = {		.name = "VIDIOC_G_STD",		.desc = desc_v4l2_std_id,	},	[_IOC_NR(VIDIOC_S_STD)] = {		.name = "VIDIOC_S_STD",		.desc = desc_v4l2_std_id,	},	[_IOC_NR(VIDIOC_ENUMSTD)] = {		.name = "VIDIOC_ENUMSTD",		.desc = desc_v4l2_standard,	},	[_IOC_NR(VIDIOC_ENUMINPUT)] = {		.name = "VIDIOC_ENUMINPUT",		.desc = desc_v4l2_input,	},	[_IOC_NR(VIDIOC_G_CTRL)] = {		.name = "VIDIOC_G_CTRL",		.desc = desc_v4l2_control,	},	[_IOC_NR(VIDIOC_S_CTRL)] = {		.name = "VIDIOC_S_CTRL",		.desc = desc_v4l2_control,	},	[_IOC_NR(VIDIOC_G_TUNER)] = {		.name = "VIDIOC_G_TUNER",		.desc = desc_v4l2_tuner,	},	[_IOC_NR(VIDIOC_S_TUNER)] = {		.name = "VIDIOC_S_TUNER",		.desc = desc_v4l2_tuner,	},	[_IOC_NR(VIDIOC_G_AUDIO)] = {		.name = "VIDIOC_G_AUDIO",		.desc = desc_v4l2_audio,	},	[_IOC_NR(VIDIOC_S_AUDIO)] = {		.name = "VIDIOC_S_AUDIO",		.desc = desc_v4l2_audio,	},	[_IOC_NR(VIDIOC_QUERYCTRL)] = {		.name = "VIDIOC_QUERYCTRL",		.desc = desc_v4l2_queryctrl,	},	[_IOC_NR(VIDIOC_QUERYMENU)] = {		.name = "VIDIOC_QUERYMENU",		.desc = desc_v4l2_querymenu,	},	[_IOC_NR(VIDIOC_G_INPUT)] = {		.name = "VIDIOC_G_INPUT",		.desc = desc_int,	},	[_IOC_NR(VIDIOC_S_INPUT)] = {		.name = "VIDIOC_S_INPUT",		.desc = desc_int,	},	[_IOC_NR(VIDIOC_G_OUTPUT)] = {		.name = "VIDIOC_G_OUTPUT",		.desc = desc_int,	},	[_IOC_NR(VIDIOC_S_OUTPUT)] = {		.name = "VIDIOC_S_OUTPUT",		.desc = desc_int,	},	[_IOC_NR(VIDIOC_ENUMOUTPUT)] = {		.name = "VIDIOC_ENUMOUTPUT",		.desc = desc_v4l2_output,	},	[_IOC_NR(VIDIOC_G_AUDOUT)] = {		.name = "VIDIOC_G_AUDOUT",		.desc = desc_v4l2_audioout,	},	[_IOC_NR(VIDIOC_S_AUDOUT)] = {		.name = "VIDIOC_S_AUDOUT",		.desc = desc_v4l2_audioout,	},	[_IOC_NR(VIDIOC_G_MODULATOR)] = {		.name = "VIDIOC_G_MODULATOR",		.desc = desc_v4l2_modulator,	},	[_IOC_NR(VIDIOC_S_MODULATOR)] = {		.name = "VIDIOC_S_MODULATOR",		.desc = desc_v4l2_modulator,	},	[_IOC_NR(VIDIOC_G_FREQUENCY)] = {		.name = "VIDIOC_G_FREQUENCY",		.desc = desc_v4l2_frequency,	},	[_IOC_NR(VIDIOC_S_FREQUENCY)] = {		.name = "VIDIOC_S_FREQUENCY",		.desc = desc_v4l2_frequency,	},	[_IOC_NR(VIDIOC_CROPCAP)] = {		.name = "VIDIOC_CROPCAP",		.desc = desc_v4l2_cropcap,	},	[_IOC_NR(VIDIOC_G_CROP)] = {		.name = "VIDIOC_G_CROP",		.desc = desc_v4l2_crop,	},	[_IOC_NR(VIDIOC_S_CROP)] = {		.name = "VIDIOC_S_CROP",		.desc = desc_v4l2_crop,	},	[_IOC_NR(VIDIOC_G_JPEGCOMP)] = {		.name = "VIDIOC_G_JPEGCOMP",		.desc = desc_v4l2_jpegcompression,	},	[_IOC_NR(VIDIOC_S_JPEGCOMP)] = {		.name = "VIDIOC_S_JPEGCOMP",		.desc = desc_v4l2_jpegcompression,	},	[_IOC_NR(VIDIOC_QUERYSTD)] = {		.name = "VIDIOC_QUERYSTD",		.desc = desc_v4l2_std_id,	},	[_IOC_NR(VIDIOC_TRY_FMT)] = {		.name = "VIDIOC_TRY_FMT",		.desc = desc_v4l2_format,	},};/* ---------------------------------------------------------------------- *//* * Local variables: * c-basic-offset: 8 * End: */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -