blob: 168357ed1cc246926d9cbdc58fa43a7e586a1f4d [file] [log] [blame]
Robert Reifb05354d2004-08-16 21:09:27 +00001/*
2 * Copyright (C) 2004 Robert Reif
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
Jonathan Ernst360a3f92006-05-18 14:49:52 +020016 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
Robert Reifb05354d2004-08-16 21:09:27 +000017 */
18
19#ifndef _KS_
20#define _KS_
21
Maarten Lankhorst796c33c2009-12-06 12:59:31 +010022typedef union tagKSIDENTIFIER
23{
24 struct
25 {
26 GUID Set;
27 ULONG Id;
28 ULONG Flags;
29 } DUMMYSTRUCTNAME;
30 LONGLONG Alignment;
31} KSIDENTIFIER;
32
33typedef KSIDENTIFIER KSPROPERTY, *PKSPROPERTY, KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT;
34
35typedef enum
36{
37 KSPIN_DATAFLOW_IN = 1,
38 KSPIN_DATAFLOW_OUT
39} KSPIN_DATAFLOW, *PKSPIN_DATAFLOW;
40
41#define KSDATAFORMAT_BIT_TEMPORAL_COMPRESSION 0
42#define KSDATAFORMAT_BIT_ATTRIBUTES 1
43#define KSDATAFORMAT_TEMPORAL_COMPRESSION (1 << 0)
44#define KSDATAFORMAT_ATTRIBUTES 1 (1 << 1)
45
46#define KSDATARANGE_BIT_ATTRIBUTES 1
47#define KSDATARANGE_BIT_REQUIRED_ATTRIBUTES 2
48#define KSDATARANGE_ATTRIBUTES (1 << 1)
49#define KSDATARANGE_REQUIRED_ATTRIBUTES (1 << 2)
50
51typedef union unionKSDATAFORMAT
52{
53 struct
54 {
55 ULONG FormatSize;
56 ULONG Flags;
57 ULONG SampleSize;
58 ULONG Reserved;
59 GUID MajorFormat;
60 GUID SubFormat;
61 GUID Specifier;
62 } DUMMYSTRUCTNAME;
63 LONGLONG Alignment;
64} KSDATAFORMAT, *PKSDATAFORMAT, KSDATARANGE, *PKSDATARANGE;
Robert Reifb05354d2004-08-16 21:09:27 +000065
66#endif /* _KS_ */