1046         svc_done(xprt);
1047         return (TRUE);
1048 }
1049 
1050 /*
1051  * Custom XDR routine for our API structure fmd_stat_t.  This function must
1052  * match the definition of fmd_stat_t in <fmd_api.h> and must also match
1053  * the corresponding routine in usr/src/lib/fm/libfmd_adm/common/fmd_adm.c.
1054  */
1055 bool_t
1056 xdr_fmd_stat(XDR *xp, fmd_stat_t *sp)
1057 {
1058         bool_t rv = TRUE;
1059 
1060         rv &= xdr_opaque(xp, sp->fmds_name, sizeof (sp->fmds_name));
1061         rv &= xdr_u_int(xp, &sp->fmds_type);
1062         rv &= xdr_opaque(xp, sp->fmds_desc, sizeof (sp->fmds_desc));
1063 
1064         switch (sp->fmds_type) {
1065         case FMD_TYPE_BOOL:
1066                 rv &= xdr_int(xp, &sp->fmds_value.bool);
1067                 break;
1068         case FMD_TYPE_INT32:
1069                 rv &= xdr_int32_t(xp, &sp->fmds_value.i32);
1070                 break;
1071         case FMD_TYPE_UINT32:
1072                 rv &= xdr_uint32_t(xp, &sp->fmds_value.ui32);
1073                 break;
1074         case FMD_TYPE_INT64:
1075                 rv &= xdr_int64_t(xp, &sp->fmds_value.i64);
1076                 break;
1077         case FMD_TYPE_UINT64:
1078         case FMD_TYPE_TIME:
1079         case FMD_TYPE_SIZE:
1080                 rv &= xdr_uint64_t(xp, &sp->fmds_value.ui64);
1081                 break;
1082         case FMD_TYPE_STRING:
1083                 rv &= xdr_string(xp, &sp->fmds_value.str, ~0);
1084                 break;
1085         }
1086 
 | 
 
 
1046         svc_done(xprt);
1047         return (TRUE);
1048 }
1049 
1050 /*
1051  * Custom XDR routine for our API structure fmd_stat_t.  This function must
1052  * match the definition of fmd_stat_t in <fmd_api.h> and must also match
1053  * the corresponding routine in usr/src/lib/fm/libfmd_adm/common/fmd_adm.c.
1054  */
1055 bool_t
1056 xdr_fmd_stat(XDR *xp, fmd_stat_t *sp)
1057 {
1058         bool_t rv = TRUE;
1059 
1060         rv &= xdr_opaque(xp, sp->fmds_name, sizeof (sp->fmds_name));
1061         rv &= xdr_u_int(xp, &sp->fmds_type);
1062         rv &= xdr_opaque(xp, sp->fmds_desc, sizeof (sp->fmds_desc));
1063 
1064         switch (sp->fmds_type) {
1065         case FMD_TYPE_BOOL:
1066                 rv &= xdr_int(xp, &sp->fmds_value.b);
1067                 break;
1068         case FMD_TYPE_INT32:
1069                 rv &= xdr_int32_t(xp, &sp->fmds_value.i32);
1070                 break;
1071         case FMD_TYPE_UINT32:
1072                 rv &= xdr_uint32_t(xp, &sp->fmds_value.ui32);
1073                 break;
1074         case FMD_TYPE_INT64:
1075                 rv &= xdr_int64_t(xp, &sp->fmds_value.i64);
1076                 break;
1077         case FMD_TYPE_UINT64:
1078         case FMD_TYPE_TIME:
1079         case FMD_TYPE_SIZE:
1080                 rv &= xdr_uint64_t(xp, &sp->fmds_value.ui64);
1081                 break;
1082         case FMD_TYPE_STRING:
1083                 rv &= xdr_string(xp, &sp->fmds_value.str, ~0);
1084                 break;
1085         }
1086 
 |