diff options
Diffstat (limited to 'stacks/lwip_stack/src/mem/nsfw_nshmem/nsfw_nshmem_mng.h')
-rw-r--r-- | stacks/lwip_stack/src/mem/nsfw_nshmem/nsfw_nshmem_mng.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/stacks/lwip_stack/src/mem/nsfw_nshmem/nsfw_nshmem_mng.h b/stacks/lwip_stack/src/mem/nsfw_nshmem/nsfw_nshmem_mng.h new file mode 100644 index 0000000..fa5bc6b --- /dev/null +++ b/stacks/lwip_stack/src/mem/nsfw_nshmem/nsfw_nshmem_mng.h @@ -0,0 +1,70 @@ +/* +* +* Copyright (c) 2018 Huawei Technologies Co.,Ltd. +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at: +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ + +#ifndef _NSFW_NSHMEM_MNG_H_ +#define _NSFW_NSHMEM_MNG_H_ + +#include "common_mem_rwlock.h" + +#include "common_func.h" + +#define NSFW_NSHMEM_ZONE_MAX 2560 + +typedef struct +{ + i8 aname[NSFW_MEM_NAME_LENTH]; + void *addr; + int length; +} nsfw_nshmem_mzone; + +typedef struct +{ + nsfw_nshmem_mzone amemzone[NSFW_NSHMEM_ZONE_MAX]; + common_mem_rwlock_t mlock; +} nsfw_nshmem_cfg; + +/* + * no share memory module init + */ +i32 nsfw_nshmem_init(nsfw_mem_para * para); + +/* + * no share memory module destory + */ +void nsfw_nshmem_destory(void); + +/* + * create a no shared memory + */ +mzone_handle nsfw_nshmem_create(nsfw_mem_zone * pinfo); + +mzone_handle nsfw_nshmem_lookup(nsfw_mem_name * pname); + +i32 nsfw_nshmem_release(nsfw_mem_name * pname); + +mring_handle nsfw_nshmem_spcreate(nsfw_mem_sppool * pmpinfo); + +i32 nsfw_nshmem_sprelease(nsfw_mem_name * pname); + +mring_handle nsfw_nshmem_sp_lookup(nsfw_mem_name * pname); + +mring_handle nsfw_nshmem_ringcreate(nsfw_mem_mring * pringinfo); + +i32 nsfw_nshmem_ringrelease(nsfw_mem_name * pname); + +ssize_t nsfw_nshmem_static(void *handle, nsfw_mem_struct_type type); + +#endif |