static void _bmlw_get_attribute_info (BmlIpcBuf * bi, BmlIpcBuf * bo) { BuzzMachineHandle *bmh = (BuzzMachineHandle *) bmlipc_read_int (bi); int index = bmlipc_read_int (bi); BuzzMachineAttribute key = bmlipc_read_int (bi); int ival, ret; char *sval; switch (key) { case BM_ATTR_MIN_VALUE: case BM_ATTR_MAX_VALUE: case BM_ATTR_DEF_VALUE: ret = bmlw_get_attribute_info (bmh, index, key, &ival); bmlipc_write_int (bo, (ret ? 1 : 0)); bmlipc_write_int (bo, ival); break; case BM_ATTR_NAME: ret = bmlw_get_attribute_info (bmh, index, key, &sval); bmlipc_write_int (bo, (ret ? 2 : 0)); if (sval) { bmlipc_write_string (bo, sval); } break; } }
int bmlw_get_attribute_info (BuzzMachineHandle * bmh, int index, BuzzMachineAttribute key, void *value) { int ret; win32_prolog (); ret = BMLX (bmlw_get_attribute_info (bmh, index, key, value)); win32_eliplog (); return ret; }