]> git.sesse.net Git - vlc/blob - extras/MacOSX_dvdioctl/DVDioctl.h
* ./configure.in: fixed linking of the ipv4 plugin.
[vlc] / extras / MacOSX_dvdioctl / DVDioctl.h
1 /*****************************************************************************
2  * DVDioctl.h: Linux-like DVD driver for Darwin and MacOS X
3  *****************************************************************************
4  * Copyright (C) 2001 VideoLAN
5  * $Id: DVDioctl.h,v 1.4 2001/06/25 11:34:08 sam Exp $
6  *
7  * Authors: Samuel Hocevar <sam@zoy.org>
8  *          Eugenio Jarosiewicz <ej0@cise.ufl.edu>
9  *
10  * The contents of this file constitute Original Code as defined in and
11  * are subject to the Apple Public Source License Version 1.1 (the
12  * "License").  You may not use this file except in compliance with the
13  * License.  Please obtain a copy of the License at
14  * http://www.apple.com/publicsource and read it before using this file.
15  * 
16  * This Original Code and all software distributed under the License are
17  * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
18  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
19  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
20  * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
21  * License for the specific language governing rights and limitations
22  * under the License.
23  *****************************************************************************/
24
25 #if defined(KERNEL)
26 /* Everything has already been defined */
27 #else
28 enum DVDKeyFormat
29 {
30     kCSSAGID        = 0x00,
31     kChallengeKey   = 0x01,
32     kKey1           = 0x02,
33     kKey2           = 0x03,
34     kTitleKey       = 0x04,
35     kASF            = 0x05,
36     kSetRegion      = 0x06,
37     kRPCState       = 0x08,
38     kCSS2AGID       = 0x10,
39     kCPRMAGID       = 0x11,
40     kInvalidateAGID = 0x3f
41 };
42
43 enum DVDKeyClass
44 {
45     kCSS_CSS2_CPRM  = 0x00,
46     kRSSA           = 0x01
47 };
48 #endif
49
50 typedef struct dvdioctl_data
51 {
52     void         *p_buffer;
53
54 #if defined(KERNEL)
55     UInt32        i_size;
56     UInt32        i_lba;
57     UInt8         i_agid;
58 #else
59     u32           i_size;
60     u32           i_lba;
61     u8            i_agid;
62 #endif
63
64     int           i_keyclass;
65     int           i_keyformat;
66
67 } dvdioctl_data_t;
68
69 #define IODVD_READ_STRUCTURE _IOWR('B', 1, dvdioctl_data_t)
70 #define IODVD_SEND_KEY       _IOWR('B', 2, dvdioctl_data_t)
71 #define IODVD_REPORT_KEY     _IOWR('B', 3, dvdioctl_data_t)
72