X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=sim%2Fo1-interface.git;a=blobdiff_plain;f=ntsimulator%2Fntsim-ng%2Fcore%2Fdocker.h;h=a44cab6b9070ca1e77b9786c5bd9af0562242eb8;hp=01855942a9c3d60ce647346b5cf30cfed5a4e196;hb=3bbf9d8a3c81afebcffb2b926cef219336dd53d6;hpb=312a154cc4d60a09596fba8fd1259345e048cdc2 diff --git a/ntsimulator/ntsim-ng/core/docker.h b/ntsimulator/ntsim-ng/core/docker.h index 0185594..a44cab6 100644 --- a/ntsimulator/ntsim-ng/core/docker.h +++ b/ntsimulator/ntsim-ng/core/docker.h @@ -18,19 +18,46 @@ #pragma once #include -#include "core/app/manager.h" +#include + +typedef struct { + char *repo; + char *tag; +} docker_available_images_t; + +typedef struct { + char *image; + docker_available_images_t *available_images; + int available_images_count; +} docker_context_t; + +typedef struct { + char *name; + char *id; + + char *docker_ip; + uint16_t docker_netconf_ssh_port; + uint16_t docker_netconf_tls_port; + uint16_t docker_ftp_port; + uint16_t docker_sftp_port; + + char *host_ip; + uint16_t host_netconf_ssh_port; + uint16_t host_netconf_tls_port; + uint16_t host_ftp_port; + uint16_t host_sftp_port; +} docker_container_t; typedef struct { float cpu; float mem; } docker_usage_t; -//init current container. used *only* with --docker-init -bool docker_container_init(void); - //docker container functions for manager -int docker_device_init(void); -int docker_device_start(const manager_network_function_type *function_type, manager_network_function_instance_t *instance); -int docker_device_stop(manager_network_function_instance_t *instance); +int docker_init(const char **filter, int filter_count, const char *min_version, docker_context_t **context); +void docker_free(docker_context_t *context, int count); + +int docker_start(const char *container_name, const char *tag, const char *image, const char *repo, uint16_t host_netconf_ssh_port, uint16_t host_netconf_tls_port, uint16_t host_ftp_port, uint16_t host_sftp_port, docker_container_t *container); +int docker_stop(docker_container_t *container); -docker_usage_t docker_usage_get(const manager_network_function_type *function_type, int function_type_count); +int docker_usage_get(const char **instances_id, int count, docker_usage_t *usage);