Annotation of sys/dev/pci/if_art.h, Revision 1.1
1.1 ! nbrk 1: /* $OpenBSD: if_art.h,v 1.5 2005/10/26 09:26:56 claudio Exp $ */
! 2:
! 3: /*
! 4: * Copyright (c) 2005 Internet Business Solutions AG, Zurich, Switzerland
! 5: * Written by: Claudio Jeker <jeker@accoom.net>
! 6: *
! 7: * Permission to use, copy, modify, and distribute this software for any
! 8: * purpose with or without fee is hereby granted, provided that the above
! 9: * copyright notice and this permission notice appear in all copies.
! 10: *
! 11: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
! 12: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
! 13: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
! 14: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
! 15: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
! 16: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
! 17: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
! 18: */
! 19:
! 20: #ifndef __IF_ART_H__
! 21: #define __IF_ART_H__
! 22:
! 23: #define MUSYCC_FRAMER_BT8370 0x8370
! 24:
! 25: enum art_sbi_type {
! 26: ART_SBI_SINGLE,
! 27: ART_SBI_MASTER,
! 28: ART_SBI_SLAVE
! 29: };
! 30:
! 31: struct art_softc {
! 32: struct device art_dev; /* generic device structures */
! 33: struct ebus_dev art_ebus; /* ebus attachement */
! 34: struct ifmedia art_ifm; /* interface media descriptor */
! 35: struct timeout art_onesec; /* onesec timeout */
! 36: struct musycc_softc *art_parent; /* parent hdlc controller */
! 37: struct channel_softc *art_channel; /* channel config */
! 38: void *art_linkstatehook;
! 39:
! 40: u_int art_media; /* if_media media */
! 41: enum art_sbi_type art_type; /* System Bus Type */
! 42: u_int8_t art_gnum; /* group number */
! 43: u_int8_t art_port; /* port number */
! 44: char art_slot; /* TDM slot */
! 45: };
! 46:
! 47: enum art_sbi_mode {
! 48: SBI_MODE_1536 = 1, /* 24TS */
! 49: SBI_MODE_1544, /* 24TS + F bit */
! 50: SBI_MODE_2048, /* 32TS */
! 51: SBI_MODE_4096_A, /* lower 32TS */
! 52: SBI_MODE_4096_B, /* upper 32TS */
! 53: SBI_MODE_8192_A, /* first 32TS */
! 54: SBI_MODE_8192_B, /* second 32TS */
! 55: SBI_MODE_8192_C, /* third 32TS */
! 56: SBI_MODE_8192_D /* last 32TS */
! 57: };
! 58:
! 59: enum art_linecode {
! 60: ART_LIU_AMI, /* Alternate Mark Inversion */
! 61: ART_LIU_B8ZS, /* Bipolar 8-zero Substitution */
! 62: ART_LIU_HDB3 /* High Density Bipolar 3 */
! 63: };
! 64:
! 65: enum art_loopback {
! 66: ART_NOLOOP, /* All Loopback disabled */
! 67: ART_RLOOP_PAYLOAD, /* Remote Payload Loopback */
! 68: ART_RLOOP_LINE, /* Remote Line Loopback */
! 69: ART_LLOOP_PAYLOAD, /* Local Payload Loopback */
! 70: ART_LLOOP_LINE /* Local Line Loopback */
! 71: };
! 72:
! 73: #define ART_DL1_BOP 1
! 74: #define ART_BOP_ESF 1
! 75:
! 76: int bt8370_reset(struct art_softc *);
! 77: int bt8370_set_frame_mode(struct art_softc *, enum art_sbi_type, u_int,
! 78: u_int);
! 79: void bt8370_intr_enable(struct art_softc *, int);
! 80: void bt8370_intr(struct art_softc *);
! 81: int bt8370_link_status(struct art_softc *);
! 82:
! 83: #endif
CVSweb