35 lines
1.1 KiB
C
35 lines
1.1 KiB
C
#ifndef _AGENT_SERVICES_H_
|
|
#define _AGENT_SERVICES_H_
|
|
|
|
/* GET services */
|
|
#define GET_CONFIG 1 /* Get list of channels */
|
|
#define GET_STATUS 2 /* Get status of enclosures for a channel */
|
|
#define GET_EVENT 3 /* Get next event */
|
|
|
|
/* SET services */
|
|
#define SET_DRV_REMOVE 11 /* Remove drive(s) from loop */
|
|
#define SET_DRV_INSERT 12 /* Introduce drive(s) onto loop */
|
|
#define SET_LED 13 /* Turn LED(s) on/off */
|
|
|
|
typedef struct {
|
|
u_char fcid_bits[16];
|
|
} fcid_bitmap_struct_t;
|
|
typedef fcid_bitmap_struct_t *fcid_bitmap_t;
|
|
#define NFCIDBITS 8
|
|
#define FCID_SET(_bm, _n) \
|
|
((_bm)->bm_bits[15-(_n)/NFCIDBITS] |= (u_char) (1 << ((_n) % NFCIDBITS)))
|
|
#define FCID_CLR(_bm, _n) \
|
|
((_bm)->bm_bits[15-(_n)/NFCIDBITS] &= (u_char) ~(1 << ((_n) % NFCIDBITS)))
|
|
#define FCID_ISSET(_bm, _n) \
|
|
((_bm)->bm_bits[15-(_n)/NFCIDBITS] & (u_char) (1 << ((_n) % NFCIDBITS)))
|
|
|
|
#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
|
|
|