.. _program_listing_file_include_rcutils_shared_library.h: Program Listing for File shared_library.h ========================================= |exhale_lsh| :ref:`Return to documentation for file ` (``include/rcutils/shared_library.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp // Copyright 2020 Open Source Robotics Foundation, Inc. // // 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 RCUTILS__SHARED_LIBRARY_H_ #define RCUTILS__SHARED_LIBRARY_H_ #ifdef __cplusplus extern "C" { #endif #include #include "rcutils/allocator.h" #include "rcutils/types/rcutils_ret.h" #include "rcutils/macros.h" #include "rcutils/visibility_control.h" typedef struct RCUTILS_PUBLIC_TYPE rcutils_shared_library_s { void * lib_pointer; char * library_path; rcutils_allocator_t allocator; } rcutils_shared_library_t; RCUTILS_PUBLIC RCUTILS_WARN_UNUSED rcutils_shared_library_t rcutils_get_zero_initialized_shared_library(void); RCUTILS_PUBLIC RCUTILS_WARN_UNUSED rcutils_ret_t rcutils_load_shared_library( rcutils_shared_library_t * lib, const char * library_path, rcutils_allocator_t allocator); RCUTILS_PUBLIC RCUTILS_WARN_UNUSED void * rcutils_get_symbol(const rcutils_shared_library_t * lib, const char * symbol_name); RCUTILS_PUBLIC RCUTILS_WARN_UNUSED bool rcutils_has_symbol(const rcutils_shared_library_t * lib, const char * symbol_name); RCUTILS_PUBLIC RCUTILS_WARN_UNUSED rcutils_ret_t rcutils_unload_shared_library(rcutils_shared_library_t * lib); RCUTILS_PUBLIC RCUTILS_WARN_UNUSED bool rcutils_is_shared_library_loaded(rcutils_shared_library_t * lib); RCUTILS_PUBLIC RCUTILS_WARN_UNUSED rcutils_ret_t rcutils_get_platform_library_name( const char * library_name, char * library_name_platform, unsigned int buffer_size, bool debug); #ifdef __cplusplus } #endif #endif // RCUTILS__SHARED_LIBRARY_H_