da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw/*
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * CDDL HEADER START
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw *
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * The contents of this file are subject to the terms of the
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * Common Development and Distribution License, Version 1.0 only
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * (the "License"). You may not use this file except in compliance
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * with the License.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw *
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * or http://www.opensolaris.org/os/licensing.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * See the License for the specific language governing permissions
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * and limitations under the License.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw *
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * When distributing Covered Code, include this CDDL HEADER in each
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * If applicable, add the following below this CDDL HEADER, with the
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * fields enclosed by brackets "[]" replaced with your own identifying
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * information: Portions Copyright [yyyy] [name of copyright owner]
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw *
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * CDDL HEADER END
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw */
f96bd5c800e73e351b0b6e4bd7f00b578dad29bbAlan Wright/*
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw * Copyright (c) 1998 by Sun Microsystems, Inc.
12b65585e720714b31036daaa2b30eb76014048eGordon Ross * All rights reserved.
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#ifndef _SNOOP_SLP_H
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#define _SNOOP_SLP_H
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#pragma ident "%Z%%M% %I% %E% SMI"
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
bbf6f00c25b6a2bed23c35eac6d62998ecdb338cJordan Brown/*
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desai * Structs and definitions for the snoop SLP interpreter only
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desai * (This code is not used by the SLP library).
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#ifdef __cplusplus
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwextern "C" {
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#endif
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwstruct slpv1_hdr {
e3f2c991a8548408db0a2787bd8b43d5124821d3Keyur Desai unsigned char vers;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char function;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned short length;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char flags;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char dialect;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char language[2];
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned short charset;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned short xid;
3db3f65c6274eb042354801a308c8e9bc4994553amw};
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amwstruct slpv2_hdr {
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char vers;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char function;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char l1, l2, l3;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char flags;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char reserved;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned char o1, o2, o3;
3db3f65c6274eb042354801a308c8e9bc4994553amw unsigned short xid;
3db3f65c6274eb042354801a308c8e9bc4994553amw};
bbf6f00c25b6a2bed23c35eac6d62998ecdb338cJordan Brown
bbf6f00c25b6a2bed23c35eac6d62998ecdb338cJordan Brown/*
bbf6f00c25b6a2bed23c35eac6d62998ecdb338cJordan Brown * flags
bbf6f00c25b6a2bed23c35eac6d62998ecdb338cJordan Brown */
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_OVERFLOW 0x80
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_MONOLINGUAL 0x40
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_URL_AUTH 0x20
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_ATTR_AUTH 0x10
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#define V1_FRESH_REG 0x08
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_OVERFLOW 0x80
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_FRESH 0x40
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_MCAST 0x20
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw/*
3db3f65c6274eb042354801a308c8e9bc4994553amw * packet types
3db3f65c6274eb042354801a308c8e9bc4994553amw */
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_SRVREQ 1
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_SRVRPLY 2
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#define V1_SRVREG 3
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_SRVDEREG 4
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_SRVACK 5
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_ATTRRQST 6
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_ATTRRPLY 7
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_DAADVERT 8
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_SRVTYPERQST 9
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V1_SRVTYPERPLY 10
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross#define V2_SRVRQST 1
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross#define V2_SRVRPLY 2
a90cf9f29973990687fa61de9f1f6ea22e924e40Gordon Ross#define V2_SRVREG 3
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_SRVDEREG 4
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_SRVACK 5
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_ATTRRQST 6
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_ATTRRPLY 7
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_DAADVERT 8
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_SRVTYPERQST 9
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_SRVTYPERPLY 10
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_SAADVERT 11
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw/*
3db3f65c6274eb042354801a308c8e9bc4994553amw * extended packet types
3db3f65c6274eb042354801a308c8e9bc4994553amw */
3db3f65c6274eb042354801a308c8e9bc4994553amw#define SCOPERQST 65
3db3f65c6274eb042354801a308c8e9bc4994553amw#define SCOPERPLY 66
3db3f65c6274eb042354801a308c8e9bc4994553amw#define DARQST 67
3db3f65c6274eb042354801a308c8e9bc4994553amw#define DARPLY 68
3db3f65c6274eb042354801a308c8e9bc4994553amw#define DASTRIKE 69
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw/*
3db3f65c6274eb042354801a308c8e9bc4994553amw * error codes
3db3f65c6274eb042354801a308c8e9bc4994553amw */
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw#define OK 0x0000
3db3f65c6274eb042354801a308c8e9bc4994553amw#define LANG_NOT_SUPPORTED 0x0001
3db3f65c6274eb042354801a308c8e9bc4994553amw#define PROTOCOL_PARSE_ERR 0x0002
3db3f65c6274eb042354801a308c8e9bc4994553amw#define INVALID_REGISTRATION 0x0003
3db3f65c6274eb042354801a308c8e9bc4994553amw#define SCOPE_NOT_SUPPORTED 0x0004
3db3f65c6274eb042354801a308c8e9bc4994553amw#define CHARSET_NOT_UNDERSTOOD 0x0005
3db3f65c6274eb042354801a308c8e9bc4994553amw#define AUTHENTICATION_UNKNOWN 0x0005
3db3f65c6274eb042354801a308c8e9bc4994553amw#define AUTHENTICATION_INVALID 0x0006
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_AUTHENTICATION_ABSENT 0x0006
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_AUTHENTICATION_FAILED 0x0007
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_VER_NOT_SUPPORTED 0x0009
3db3f65c6274eb042354801a308c8e9bc4994553amw#define NOT_SUPPORTED_YET 0x000a
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_INTERNAL_ERROR 0x000a
3db3f65c6274eb042354801a308c8e9bc4994553amw#define REQUEST_TIMED_OUT 0x000b
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_DA_BUSY_NOW 0x000b
3db3f65c6274eb042354801a308c8e9bc4994553amw#define COULD_NOT_INIT_NET_RESOURCES 0x000c
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_OPTION_NOT_UNDERSTOOD 0x000c
3db3f65c6274eb042354801a308c8e9bc4994553amw#define COULD_NOT_ALLOCATE_MEMORY 0x000d
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_INVALID_UPDATE 0x000d
3db3f65c6274eb042354801a308c8e9bc4994553amw#define PARAMETER_BAD 0x000e
3db3f65c6274eb042354801a308c8e9bc4994553amw#define V2_RQST_NOT_SUPPORTED 0x000e
3db3f65c6274eb042354801a308c8e9bc4994553amw#define INVALID_LIFETIME 0x000f
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw#define INTERNAL_NET_ERROR 0x000f
3db3f65c6274eb042354801a308c8e9bc4994553amw#define INTERNAL_SYSTEM_ERROR 0x0010
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw#ifdef __cplusplus
3db3f65c6274eb042354801a308c8e9bc4994553amw}
3db3f65c6274eb042354801a308c8e9bc4994553amw#endif
3db3f65c6274eb042354801a308c8e9bc4994553amw
3db3f65c6274eb042354801a308c8e9bc4994553amw#endif /* _SNOOP_SLP_H */
3db3f65c6274eb042354801a308c8e9bc4994553amw