X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fntsim-ng%2Fcore%2Fdocker.h;h=55a400d0b644712482b9626f6ef93e4c0227e8c8;hb=c7e43513c1c4c3569d5079db0a9a31c124274e6c;hp=01855942a9c3d60ce647346b5cf30cfed5a4e196;hpb=f1d5c9198acde7a7ce296490087cad37e008f688;p=sim%2Fo1-interface.git diff --git a/ntsimulator/ntsim-ng/core/docker.h b/ntsimulator/ntsim-ng/core/docker.h index 0185594..55a400d 100644 --- a/ntsimulator/ntsim-ng/core/docker.h +++ b/ntsimulator/ntsim-ng/core/docker.h @@ -18,19 +18,47 @@ #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); +int docker_pull(const char *repo, const char *image, const char *tag);