1
0
Files
irix-657m-src/eoe/cmd/fcman/fcagent_rpc.x
2022-09-29 17:59:04 +03:00

99 lines
2.6 KiB
Plaintext

/*
* PROTOCOL definitions for AGENT_GET_CONFIG
*/
struct ch_cfg_t {
u_int ch_id;
u_int encl_id<>;
u_int stat_gencode<>;
};
typedef struct ch_cfg_t cfg_t<>;
%#ifdef XDR_SHORTCUT
%#define encl_id_len encl_id.encl_id_len
%#define encl_id_val encl_id.encl_id_val
%#define stat_gencode_len stat_gencode.stat_gencode_len
%#define stat_gencode_val stat_gencode.stat_gencode_val
%#endif
/*
* PROTOCOL definitions for AGENT_GET_STATUS
*/
struct enc_addr_t {
u_int ch_id;
u_int encl_id;
};
typedef opaque drv_stat_t<>;
typedef opaque fan_stat_t<>;
typedef opaque ps_stat_t<>;
typedef opaque lcc_stat_t<>;
struct enc_stat_t {
u_int encl_id;
u_int encl_status;
u_int encl_phys_id;
char encl_vid[8]; /* Vendor ID */
char encl_pid[8]; /* Vendor ID */
char encl_prl[8]; /* Rev. Level */
u_char encl_wwn[8]; /* Unique WWN */
char encl_lccstr<>; /* LCC text string */
drv_stat_t drv<>;
fan_stat_t fan<>;
ps_stat_t ps<>;
lcc_stat_t lcc<>;
};
%#ifdef XDR_SHORTCUT
%#define encl_lccstr_len encl_lccstr.encl_lccstr_len
%#define encl_lccstr_val encl_lccstr.encl_lccstr_val
%#define drv_len drv.drv_len
%#define drv_val drv.drv_val
%#define fan_len fan.fan_len
%#define fan_val fan.fan_val
%#define ps_len ps.ps_len
%#define ps_val ps.ps_val
%#define lcc_len lcc.lcc_len
%#define lcc_val lcc.lcc_val
%#endif
/*
* PROTOCOL definitions for AGENT_SET_DRV_[REMOVE,INSERT,LED]
*/
typedef opaque fcid_t<16>;
struct drive_op_t {
u_int ch_id;
u_int op;
fcid_t fcid_bm;
};
%#ifndef _FCID_BM_
%#define _FCID_BM_
%typedef struct {
% u_char fcid_bits[16];
%} fcid_bitmap_struct_t;
%typedef fcid_bitmap_struct_t *fcid_bitmap_t;
%#define NFCIDBITS 128
%#define FCID_SET(_bm, _n) \
% ((_bm)->fcid_bits[15-(_n)/8] |= (u_char) (1 << ((_n) % 8)))
%#define FCID_CLR(_bm, _n) \
% ((_bm)->fcid_bits[15-(_n)/8] &= (u_char) ~(1 << ((_n) % 8)))
%#define FCID_ISSET(_bm, _n) \
% ((_bm)->fcid_bits[15-(_n)/8] & (u_char) (1 << ((_n) % 8)))
%#define FCID_NEW() \
% (calloc(1, sizeof(fcid_bitmap_struct_t)))
%#define FCID_FREE(_bm) \
% (free(_bm))
%#define FCID_COPY(_bmsrc, _bmdst) \
% (bcopy(_bmsrc, _bmdst, sizeof(fcid_bitmap_struct_t)))
%#endif
program AGENT_PROG {
version AGENT_VERS {
string AGENT_GET_VERS(void) = 1;
cfg_t AGENT_GET_CONFIG(void) = 2;
enc_stat_t AGENT_GET_STATUS(enc_addr_t) = 3;
int AGENT_SET_DRV_REMOVE(drive_op_t) = 4;
int AGENT_SET_DRV_INSERT(drive_op_t) = 5;
int AGENT_SET_DRV_LED(drive_op_t) = 6;
int AGENT_SET_DRV_BYPASS(drive_op_t) = 7;
} = 1;
} = 0x20455349; /* 'E' 'S' 'I' */