#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (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
# or http://www.opensolaris.org/os/licensing.
# 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 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
#

one fc_port

#
# List of interrupt handlers in the port driver
#
FP_INTERRUPT_HANDLERS="fp_flogi_intr fp_plogi_intr fp_logo_intr fp_adisc_intr\
			fp_ns_intr fp_intr fp_linit_intr fp_rls_intr"

#
# Lately warlock doesn't seem to recognize job_comp field in 2.8
# environment - however it does in fp_with_fctl.wlcmd. So root
# out the following functions
#
#      PS: ns suggests me to start using locklint, but that will
#	   take some time
#
root fp_startup_done

#
# List of callbacks in the port driver
#
FP_CALLBACK_HANDLERS="fp_statec_cb fp_unsol_cb"

#
# Give warlock a dummy target for each of the function
# pointers in the fca_tran structure.
#

for ptr in `funcptrs | grep '^fca_tran::'`
do
	add $ptr target warlock_dummy
done

#
# add interrupt targets to fca_transport and fca_els_send
#
add fp_cmd::cmd_transport targets $FP_INTERRUPT_HANDLERS
add fc_packet::pkt_comp targets $FP_INTERRUPT_HANDLERS

#
# Till such time we actually use the following bus_ops
# vectors, make them target to warlock_dummys
#
add bus_ops::bus_get_eventcookie target warlock_dummy
add bus_ops::bus_add_eventcall target warlock_dummy
add bus_ops::bus_remove_eventcall target warlock_dummy
add bus_ops::bus_post_event target warlock_dummy
add bus_ops::bus_intr_ctl target warlock_dummy

ignore fp_cache_constructor fp_cache_destructor

#
# Make all callback handlers as root
#
for ptr in $FP_CALLBACK_HANDLERS
do
	root $ptr
done