int resource_type;
u_int64_t ctrl_id;
int ctrl_value;
+ u_int64_t flag_mask;
u_int64_t attr_mask;
u_int64_t attr_id;
buffer_len = sprintf(buffer, "%d$%d",
data->request, data->resource_id);
break;
+ case REQUEST_SET_RESOURCE_FLAG:
+ buffer_len = sprintf(buffer, "%d$%d$%"PRIu64,
+ data->request, data->resource_id, data->flag_mask);
+ break;
default:
_E("[libpass] Unknown request type, client(%d) | request(%d)",
data->client_id, data->request);
case REQUEST_UPDATE_RESOURCE:
case REQUEST_DELETE_RESOURCE:
case REQUEST_CREATE_RESOURCE:
+ case REQUEST_SET_RESOURCE_FLAG:
case REQUEST_SET_RESOURCE_CTRL:
case REQUEST_SET_RESOURCE_ATTR:
case REQUEST_UNSET_RESOURCE_ATTR:
return handle_request(&request);
}
+EXPORT
+int pass_resource_monitor_set_resource_flag(int id, int resource_id, u_int64_t flag_mask)
+{
+ struct request_data request = {
+ .request = REQUEST_SET_RESOURCE_FLAG,
+ .client_id = id,
+ .resource_id = resource_id,
+ .flag_mask = flag_mask,
+ };
+
+ return handle_request(&request);
+}
+
EXPORT
int pass_resource_monitor_set_resource_ctrl(int id, int resource_id, u_int64_t ctrl_id, int value)
{
*/
int pass_resource_monitor_delete_resource(int id, int resource_id);
+/**
+ * @brief Set flag of resource of the given resource id to given flag mask
+ * @param[in] Resource monitor id which be returnted by pass_resource_monitor_init
+ * @param[in] Resource id
+ * @param[in] Flag mask including the resource visibility
+ * @return @c 0 on success, otherwise a negative error value
+ */
+int pass_resource_monitor_set_resource_flag(int id, int resource_id, u_int64_t flag_mask);
+
/**
* @brief Set the resource control with value which is diffierential according to resource control id
* @param[in] Resource monitor id