# Copyright 1999-2006 Gentoo Foundation.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/profiles/desc/misdn_cards.desc,v 1.1 2006/07/25 09:57:01 genstef Exp $

# This file contains descriptions of MISDN_CARDS USE_EXPAND flags.

# Keep it sorted.

avmfritz - MISDN_CARDS setting to build driver for avmfritz
hfcpci - MISDN_CARDS setting to build driver for hfcpci
hfcmulti - MISDN_CARDS setting to build driver for hfcmulti
hfcsusb - MISDN_CARDS setting to build driver for hfcsusb
hfcsmini - MISDN_CARDS setting to build driver for hfcsmini
xhfc - MISDN_CARDS setting to build driver for xhfc
sedlfax - MISDN_CARDS setting to build driver for sedlfax
w6692pci - MISDN_CARDS setting to build driver for w6692pci
netjetpci - MISDN_CARDS setting to build driver for netjetpci
