1 /* Copyright 2020-2021 IGEL Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 #ifndef LEASE_MANAGER_H
17 #define LEASE_MANAGER_H
18 #include "drm-lease.h"
22 struct lm *lm_create(const char *path);
23 struct lm *lm_create_with_config(const char *path, int leases,
24 struct lease_config *configs);
26 void lm_destroy(struct lm *lm);
28 int lm_get_lease_handles(struct lm *lm, struct lease_handle ***lease_handles);
30 int lm_lease_grant(struct lm *lm, struct lease_handle *lease_handle);
31 int lm_lease_transfer(struct lm *lm, struct lease_handle *lease_handle);
32 void lm_lease_revoke(struct lm *lm, struct lease_handle *lease_handle);
33 void lm_lease_close(struct lease_handle *lease_handle);