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
|