1*fcf3ce44SJohn Forte /* 2*fcf3ce44SJohn Forte * CDDL HEADER START 3*fcf3ce44SJohn Forte * 4*fcf3ce44SJohn Forte * The contents of this file are subject to the terms of the 5*fcf3ce44SJohn Forte * Common Development and Distribution License (the "License"). 6*fcf3ce44SJohn Forte * You may not use this file except in compliance with the License. 7*fcf3ce44SJohn Forte * 8*fcf3ce44SJohn Forte * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9*fcf3ce44SJohn Forte * or http://www.opensolaris.org/os/licensing. 10*fcf3ce44SJohn Forte * See the License for the specific language governing permissions 11*fcf3ce44SJohn Forte * and limitations under the License. 12*fcf3ce44SJohn Forte * 13*fcf3ce44SJohn Forte * When distributing Covered Code, include this CDDL HEADER in each 14*fcf3ce44SJohn Forte * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15*fcf3ce44SJohn Forte * If applicable, add the following below this CDDL HEADER, with the 16*fcf3ce44SJohn Forte * fields enclosed by brackets "[]" replaced with your own identifying 17*fcf3ce44SJohn Forte * information: Portions Copyright [yyyy] [name of copyright owner] 18*fcf3ce44SJohn Forte * 19*fcf3ce44SJohn Forte * CDDL HEADER END 20*fcf3ce44SJohn Forte */ 21*fcf3ce44SJohn Forte /* 22*fcf3ce44SJohn Forte * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 23*fcf3ce44SJohn Forte * Use is subject to license terms. 24*fcf3ce44SJohn Forte */ 25*fcf3ce44SJohn Forte 26*fcf3ce44SJohn Forte #ifndef _ISNSADM_H 27*fcf3ce44SJohn Forte #define _ISNSADM_H 28*fcf3ce44SJohn Forte 29*fcf3ce44SJohn Forte #ifdef __cplusplus 30*fcf3ce44SJohn Forte extern "C" { 31*fcf3ce44SJohn Forte #endif 32*fcf3ce44SJohn Forte 33*fcf3ce44SJohn Forte #include <stdio.h> 34*fcf3ce44SJohn Forte #include <stdlib.h> 35*fcf3ce44SJohn Forte #include <string.h> 36*fcf3ce44SJohn Forte #include <libintl.h> 37*fcf3ce44SJohn Forte #include <unistd.h> 38*fcf3ce44SJohn Forte #include <sys/types.h> 39*fcf3ce44SJohn Forte #include <netinet/in.h> 40*fcf3ce44SJohn Forte #include <inttypes.h> 41*fcf3ce44SJohn Forte #include <cmdparse.h> 42*fcf3ce44SJohn Forte 43*fcf3ce44SJohn Forte #ifdef _BIG_ENDIAN 44*fcf3ce44SJohn Forte #define htonll(x) (x) 45*fcf3ce44SJohn Forte #define ntohll(x) (x) 46*fcf3ce44SJohn Forte #else 47*fcf3ce44SJohn Forte #define htonll(x) ((((unsigned long long)htonl(x)) << 32) + htonl(x >> 32)) 48*fcf3ce44SJohn Forte #define ntohll(x) ((((unsigned long long)ntohl(x)) << 32) + ntohl(x >> 32)) 49*fcf3ce44SJohn Forte #endif 50*fcf3ce44SJohn Forte 51*fcf3ce44SJohn Forte /* DEFINES */ 52*fcf3ce44SJohn Forte /* subcommands */ 53*fcf3ce44SJohn Forte #define LISTNODE SUBCOMMAND(0) 54*fcf3ce44SJohn Forte #define LISTDD SUBCOMMAND(1) 55*fcf3ce44SJohn Forte #define LISTDDSET SUBCOMMAND(2) 56*fcf3ce44SJohn Forte #define CREATEDD SUBCOMMAND(3) 57*fcf3ce44SJohn Forte #define CREATEDDSET SUBCOMMAND(4) 58*fcf3ce44SJohn Forte #define DELETEDD SUBCOMMAND(5) 59*fcf3ce44SJohn Forte #define DELETEDDSET SUBCOMMAND(6) 60*fcf3ce44SJohn Forte #define ADDNODE SUBCOMMAND(7) 61*fcf3ce44SJohn Forte #define ADDDD SUBCOMMAND(8) 62*fcf3ce44SJohn Forte #define REMOVENODE SUBCOMMAND(9) 63*fcf3ce44SJohn Forte #define REMOVEDD SUBCOMMAND(10) 64*fcf3ce44SJohn Forte #define MODIFYDD SUBCOMMAND(11) 65*fcf3ce44SJohn Forte #define MODIFYDDSET SUBCOMMAND(12) 66*fcf3ce44SJohn Forte #define ENABLEDDSET SUBCOMMAND(13) 67*fcf3ce44SJohn Forte #define DISABLEDDSET SUBCOMMAND(14) 68*fcf3ce44SJohn Forte #define SHOWCONFIG SUBCOMMAND(15) 69*fcf3ce44SJohn Forte 70*fcf3ce44SJohn Forte /* reader lookup return value definition */ 71*fcf3ce44SJohn Forte #define NO_MATCH 0 72*fcf3ce44SJohn Forte #define READER_MATCH 1 73*fcf3ce44SJohn Forte #define END_READER_MATCH 2 74*fcf3ce44SJohn Forte 75*fcf3ce44SJohn Forte /* Association Request type */ 76*fcf3ce44SJohn Forte typedef enum { 77*fcf3ce44SJohn Forte dd_to_node, 78*fcf3ce44SJohn Forte node_to_dd, 79*fcf3ce44SJohn Forte dd_to_ddset, 80*fcf3ce44SJohn Forte ddset_to_dd 81*fcf3ce44SJohn Forte } association_t; 82*fcf3ce44SJohn Forte 83*fcf3ce44SJohn Forte /* Modify Requet type */ 84*fcf3ce44SJohn Forte typedef enum { 85*fcf3ce44SJohn Forte dd_name_change, 86*fcf3ce44SJohn Forte ddset_name_change, 87*fcf3ce44SJohn Forte dds_state_change, 88*fcf3ce44SJohn Forte dd_bootlist_feature_change 89*fcf3ce44SJohn Forte } modify_type; 90*fcf3ce44SJohn Forte 91*fcf3ce44SJohn Forte #define COMMAND_SYNTAX_FAILED 1 92*fcf3ce44SJohn Forte 93*fcf3ce44SJohn Forte /* msg code */ 94*fcf3ce44SJohn Forte typedef enum { 95*fcf3ce44SJohn Forte SUBCOMMAND_SUCCESS = 200, 96*fcf3ce44SJohn Forte SUCCESS_WITH_NO_OBJECT, 97*fcf3ce44SJohn Forte ERROR_PARTIAL_SUCCESS, 98*fcf3ce44SJohn Forte ERROR_PARTIAL_FAILURE, 99*fcf3ce44SJohn Forte ERROR_NO_ADDITIONAL_PARTIAL_FAILIRE_INFO, 100*fcf3ce44SJohn Forte ERROR_XML_READER_NULL, 101*fcf3ce44SJohn Forte ERROR_XML_RESPONSE_ERROR, 102*fcf3ce44SJohn Forte ERROR_XML_NAME_ATTR_NOT_FOUND, 103*fcf3ce44SJohn Forte ERROR_XML_ID_ATTR_NOT_FOUND, 104*fcf3ce44SJohn Forte ERROR_XML_TYPE_ATTR_NOT_FOUND, 105*fcf3ce44SJohn Forte ERROR_XML_ALIAS_ATTR_NOT_FOUND, 106*fcf3ce44SJohn Forte ERROR_XML_DD_OBJECT_NOT_FOUND, 107*fcf3ce44SJohn Forte ERROR_XML_DD_SET_OBJECT_NOT_FOUND, 108*fcf3ce44SJohn Forte ERROR_XML_STATUS_ELEM_NOT_FOUND, 109*fcf3ce44SJohn Forte ERROR_XML_MESSAGE_ELEM_NOT_FOUND, 110*fcf3ce44SJohn Forte ERROR_XML_ISNSSERVER_ELEM_NOT_FOUND, 111*fcf3ce44SJohn Forte ERROR_XML_CREATE_BUFFER_FAILED, 112*fcf3ce44SJohn Forte ERROR_XML_CREATE_WRITER_FAILED, 113*fcf3ce44SJohn Forte ERROR_XML_START_DOC_FAILED, 114*fcf3ce44SJohn Forte ERROR_XML_END_DOC_FAILED, 115*fcf3ce44SJohn Forte ERROR_XML_START_ELEMENT_FAILED, 116*fcf3ce44SJohn Forte ERROR_XML_WRITE_ELEMENT_FAILED, 117*fcf3ce44SJohn Forte ERROR_XML_END_ELEMENT_FAILED, 118*fcf3ce44SJohn Forte ERROR_XML_WRITE_ATTRIBUTE_FAILED, 119*fcf3ce44SJohn Forte ERROR_XML_STRDUP_FAILED, 120*fcf3ce44SJohn Forte ERROR_XML_ADD_CHILD_FAILED, 121*fcf3ce44SJohn Forte ERROR_XML_PARSE_MEMORY_FAILED, 122*fcf3ce44SJohn Forte ERROR_XML_XPATH_NEW_CONTEXT_FAILED, 123*fcf3ce44SJohn Forte ERROR_DOOR_CALL_FAILED, 124*fcf3ce44SJohn Forte ERROR_DOOR_OPEN_FAILED, 125*fcf3ce44SJohn Forte ERROR_ISNS_SMF_SERVICE_NOT_ONLINE, 126*fcf3ce44SJohn Forte ERROR_MALLOC_FAILED, 127*fcf3ce44SJohn Forte ERROR_DDMEMBER_NOT_FOUND, 128*fcf3ce44SJohn Forte ERROR_DDSETMEMBER_NOT_FOUND, 129*fcf3ce44SJohn Forte ERROR_DDMEMBER_ALREADY_EXIST, 130*fcf3ce44SJohn Forte ERROR_DDSETMEMBER_ALREADY_EXIST, 131*fcf3ce44SJohn Forte ERROR_OPERATION_NOT_ALLOWED_FOR_DEFAULT_DD, 132*fcf3ce44SJohn Forte ERROR_OPERATION_NOT_ALLOWED_FOR_DEFAULT_DDSET, 133*fcf3ce44SJohn Forte ERROR_DD_NAME_IN_USE, 134*fcf3ce44SJohn Forte ERROR_DDSET_NAME_IN_USE, 135*fcf3ce44SJohn Forte ERROR_SERVER_BUSY, 136*fcf3ce44SJohn Forte ERROR_SERVER_INTERNAL_ERROR, 137*fcf3ce44SJohn Forte UNKNOWN 138*fcf3ce44SJohn Forte } msg_code_t; 139*fcf3ce44SJohn Forte 140*fcf3ce44SJohn Forte /* proto type */ 141*fcf3ce44SJohn Forte char *getTextMessage(msg_code_t code); 142*fcf3ce44SJohn Forte 143*fcf3ce44SJohn Forte #ifdef __cplusplus 144*fcf3ce44SJohn Forte } 145*fcf3ce44SJohn Forte #endif 146*fcf3ce44SJohn Forte 147*fcf3ce44SJohn Forte #endif /* _ISNSADM_H */ 148