Hi!
I hate license discussions as much as the next guy, but... I have
made patches to add DVB ioctl support to FreeBSD's Linux compatibility
layer:
http://people.freebsd.org/~nox/dvb/linux-dvb-2nd.patch
(for FreeBSD-current aka the head branch)
http://people.freebsd.org/~nox/dvb/linux-dvb-2nd-8.patch
(for FreeBSD 8)
and I was asked to request relicensing of the parts I took from
<linux/dvb/frontend.h> under a BSD license. That's
src/sys/compat/linux/linux_dvb.h in the patches (also attached),
basically I took the #define.s and structs for FE_[GS]ET_PROPERTY
as those were the only ioctls needing 32/64 bit stuct size
translations (other than some in osd.h and video.h that no drivers
we use support.)
It seems those parts were authored by Steven Toth, so I added
him to the Cc.
The same relicensing had been done for <linux/videodev.h> earlier
(except that that file itself didn't have a license), and I see
<linux/videodev2.h> is dual-licensed too, so I hope it can be done
in this case too.
Thanx!
Juergen
/*
* Extracted from <linux/dvb/frontend.h>, which is:
*
* Copyright (C) 2000 Marcus Metzler <[email protected]>
* Ralph Metzler <[email protected]>
* Holger Waechtler <[email protected]>
* Andre Draszik <[email protected]>
* for convergence integrated media GmbH
*
* This program 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.
*
* This program 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 General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
*/
#ifndef __LINUX_DVB_H
#define __LINUX_DVB_H
#include <sys/types.h>
struct dtv_property {
uint32_t cmd;
uint32_t reserved[3];
union {
uint32_t data;
struct {
uint8_t data[32];
uint32_t len;
uint32_t reserved1[3];
void *reserved2;
} buffer;
} u;
int result;
} __attribute__ ((packed));
/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
#define DTV_IOCTL_MAX_MSGS 64
struct dtv_properties {
uint32_t num;
struct dtv_property *props;
};
#define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties)
/*
* This is broken on linux as well but they workaround it in the driver.
* Since this is impossible to do on FreeBSD fix the header instead.
* Detailed and discussion :
* http://lists.freebsd.org/pipermail/freebsd-multimedia/2010-April/010958.html
*/
#define FE_GET_PROPERTY _IOW('o', 83, struct dtv_properties)
#endif /*__LINUX_DVB_H*/