1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22 /* 23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved. 24 * Use is subject to license terms. 25 */ 26 27 /* 28 * 29 * MODULE: dapl_ep_create_with_srq.c 30 * 31 * PURPOSE: EP creates with SRQ 32 * Description: Interfaces in this file are completely described in 33 * the DAPL 1.2 API, Chapter 6, section 6 34 * 35 */ 36 37 #include "dapl.h" 38 #include "dapl_ep_util.h" 39 40 /* 41 * dapl_ep_create_with_srq 42 * 43 * uDAPL: User Direct Access Program Library Version 1.2, 6.7.4.1 44 * 45 * creates an instance of an Endpoint that is using SRQ for Recv buffers 46 * is provided to the Consumer as ep_handle. Endpoint is created in 47 * Unconnected state. 48 * 49 * Input: 50 * ia_handle 51 * pz_handle 52 * recv_evd_handle 53 * request_evd_handle 54 * connect_evd_handle 55 * srq_handle 56 * ep_attributes 57 * 58 * Output: 59 * ep_handle 60 * 61 * Returns: 62 * DAT_SUCCESS 63 * DAT_INVALID_HANDLE 64 * DAT_INVALID_PARAMETER 65 * DAT_MODEL_NOT_SUPPORTED 66 */ 67 68 /* ARGSUSED */ 69 DAT_RETURN 70 dapl_ep_create_with_srq( 71 IN DAT_IA_HANDLE ia_handle, 72 IN DAT_PZ_HANDLE pz_handle, 73 IN DAT_EVD_HANDLE recv_evd_handle, 74 IN DAT_EVD_HANDLE request_evd_handle, 75 IN DAT_EVD_HANDLE connect_evd_handle, 76 IN DAT_SRQ_HANDLE srq_handle, 77 IN const DAT_EP_ATTR *ep_attributes, 78 OUT DAT_EP_HANDLE *ep_handle) 79 { 80 return (dapl_ep_create_common(ia_handle, pz_handle, recv_evd_handle, 81 request_evd_handle, connect_evd_handle, srq_handle, ep_attributes, 82 ep_handle)); 83 } 84 85 /* 86 * dapl_ep_recv_query 87 * 88 * uDAPL: User Direct Access Program Library Version 1.2, 6.6.10 89 * 90 * provides to the Consumer a snapshot for Recv buffers on EP. The values 91 * for nbufs_allocated and bufs_alloc_span are not defined when DAT_RETURN 92 * is not DAT_SUCCESS. 93 * 94 * Input: 95 * ep_handle 96 * 97 * Output: 98 * nbufs_allocated 99 * bufs_alloc_span 100 * 101 * Returns: 102 * DAT_SUCCESS 103 * DAT_INVALID_HANDLE 104 * DAT_INVALID_PARAMETER 105 * DAT_MODEL_NOT_SUPPORTED 106 */ 107 108 /* ARGSUSED */ 109 DAT_RETURN 110 dapl_ep_recv_query( 111 IN DAT_EP_HANDLE ep_handle, 112 OUT DAT_COUNT *nbufs_allocated, 113 OUT DAT_COUNT *bufs_alloc_span) 114 { 115 return (DAT_MODEL_NOT_SUPPORTED); 116 } 117 118 /* 119 * dapl_ep_set_watermark 120 * 121 * uDAPL: User Direct Access Program Library Version 1.2, 6.6.12 122 * 123 * sets the soft and hard high watermark values for EP and arms EP 124 * for generating asynchronous events for high watermarks. An asynchronous 125 * event will be generated for IA async_evd when the number of Recv buffers 126 * at EP is above the soft high watermark for the first time. An connection 127 * broken event will be generated for EP connect_evd when the number of Recv 128 * buffers at EP is above the hard high watermark. These may happen during 129 * this call or when EP takes a buffer from the SRQ or EP RQ. The soft and 130 * hard high watermark asynchronous event generation and setting are 131 * independent from each other. 132 * 133 * Input: 134 * ep_handle 135 * soft_high_watermark 136 * hard_high_watermark 137 * 138 * Output: 139 * none 140 * 141 * Returns: 142 * DAT_SUCCESS 143 * DAT_INSUFFICIENT_RESOURCES 144 * DAT_INVALID_HANDLE 145 * DAT_INVALID_PARAMETER 146 * DAT_MODEL_NOT_SUPPORTED 147 */ 148 149 /* ARGSUSED */ 150 DAT_RETURN 151 dapl_ep_set_watermark( 152 IN DAT_EP_HANDLE ep_handle, 153 IN DAT_COUNT soft_high_watermark, 154 IN DAT_COUNT hard_high_watermark) 155 { 156 return (DAT_MODEL_NOT_SUPPORTED); 157 } 158