/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 1999-2002 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_1394_H1394_H
#define _SYS_1394_H1394_H
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* h1394.h
* Contains the structure and error codes used to communicate
* between the HAL and the rest of the 1394 Software Framework
*/
#ifdef __cplusplus
extern "C" {
#endif
#define H1394_CLEANUP_LEVEL0 0
/* h1394_phy_t */
typedef enum {
H1394_PHY_1995 = 0,
} h1394_phy_t;
/* h1394_error_t */
typedef enum {
/*
* h1394_posted_wr_err_t
* the lower 48 bits contain the address that the error occured at.
*/
typedef struct h1394_posted_wr_err_s {
/*
* h1394_node_pwr_flags_t
* Node power flags info
*/
typedef enum {
/*
* h1394_addr_type_t
* h1394_addr_map.addr_type
*/
typedef enum {
/* h1394_mblk_t */
typedef struct h1394_mblk_s {
unsigned char *curr_offset;
unsigned char *next_offset;
} h1394_mblk_t;
/* h1394_cmd_priv_t */
typedef struct h1394_cmd_priv_s {
void *hal_overhead;
/* h1394_evts_t */
typedef struct h1394_evts_s {
int *result);
int *result);
void *hal_isoch_dma_handle);
void *hal_isoch_dma_handle,
int *result);
int *result);
void *hal_isoch_dma_handle,
} h1394_evts_t;
/* Version value for h1394_evts_t */
#define H1394_STATUS_NO_ERROR 0
/* h1394_addr_map_t */
typedef struct h1394_addr_map_s {
/* h1394_halinfo_t */
typedef struct h1394_halinfo_s {
void *hal_private;
/* Buffer attributes */
/* Type of PHY on HAL */
/*
* The maximum value generation can have before
* it rolls over (inclusive)
*/
/* Description of the 1394 Address Space */
/* Description of the reserved spaces */
/* Calls to Services layer during HAL driver _init() and _fini() */
void **sl_private);
/* Calls to Services layer during HW interrupt processing */
/* Command types (passed to h1394_command_is_complete) */
#define H1394_AT_REQ 0
/* Command statuses (passed to h1394_command_is_complete) */
/* Flags for h1394_alloc_cmd() */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_1394_H1394_H */