/*
* 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 2005 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_MULTIDATA_H
#define _SYS_MULTIDATA_H
#pragma ident "%Z%%M% %I% %E% SMI"
#ifdef __cplusplus
extern "C" {
#endif
/*
* Multidata interface declarations.
* These interfaces are still evolving; do not use them in unbundled drivers.
*/
/*
* Multidata packet attribute information.
*/
typedef struct pattrinfo_s {
} pattrinfo_t;
/*
* Maximum number of payload areas for a single packet descriptor.
*/
/*
* Multidata buffer information.
*/
typedef struct mbufinfo_s {
struct pbuf_ary_s {
} mbufinfo_t;
/*
* Multidata packet descriptor information.
*/
struct pld_ary_s {
};
{ \
}
/*
* Possible values for flags
*/
}
#define PDESC_PLD_SPAN_SIZE(p, n) \
#define PDESC_PLD_SPAN_TRIM(p, n, b) { \
}
#define PDESC_PLD_SPAN_CLEAR(p, n) \
PDESC_PLD_SPAN_TRIM(p, n, PDESC_PLD_SPAN_SIZE(p, n))
(p)->pld_cnt++; \
}
/*
* These structures are opaque to multidata clients.
*/
struct pdesc_s;
struct pattr_s;
struct multidata_s;
#ifdef _KERNEL
extern void mmd_rempdesc(pdesc_t *);
boolean_t, int);
extern void mmd_rempattr(pattr_t *);
#endif /* _KERNEL */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_MULTIDATA_H */