routeros_api.h | routeros_api.h | |||
---|---|---|---|---|
skipping to change at line 32 | skipping to change at line 32 | |||
#ifndef ROUTEROS_API_H | #ifndef ROUTEROS_API_H | |||
#define ROUTEROS_API_H 1 | #define ROUTEROS_API_H 1 | |||
#include <stdint.h> | #include <stdint.h> | |||
#include <inttypes.h> | #include <inttypes.h> | |||
#include <routeros_version.h> | #include <routeros_version.h> | |||
#define ROUTEROS_API_PORT "8728" | #define ROUTEROS_API_PORT "8728" | |||
/* | ||||
* C++ doesn't have _Bool. We can't simply "#define _Bool bool", because we | ||||
* don't know if "bool" and "_Bool" are of the same size. If they are not, | ||||
this | ||||
* would result in ABI incompatible code. | ||||
* | ||||
* So we're doing a best-effort solution here: If we're compiled with the G | ||||
NU | ||||
* C++ compiler, g++, we include <stdbool.h>. The GCC will, as a GNU extens | ||||
ion, | ||||
* define _Bool for C++. Since it's the compiler doing the definition, it's | ||||
* kind of save to assume that it will be done in an ABI compatible manner. | ||||
* | ||||
* If this results in any problems for you, define "ROS_HAVE_CPP_BOOL" to t | ||||
rue | ||||
* to have this magic disabled. You will then have to define _Bool yourself | ||||
. | ||||
* | ||||
* TODO: Write a test program for the configure sript to figure out the siz | ||||
e of | ||||
* _Bool. Make this size available via <routeros_versioin.h> and define _ | ||||
Bool | ||||
* to short, long, ... here. | ||||
*/ | ||||
#ifdef __cplusplus | #ifdef __cplusplus | |||
# if !defined (ROS_HAVE_CPP_BOOL) || !ROS_HAVE_CPP_BOOL | ||||
# ifdef __GNUC__ | ||||
# include <stdbool.h> | ||||
# endif /* __GNUC__ */ | ||||
# endif /* !defined (ROS_HAVE_CPP_BOOL) || !ROS_HAVE_CPP_BOOL */ | ||||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
struct ros_connection_s; | struct ros_connection_s; | |||
typedef struct ros_connection_s ros_connection_t; | typedef struct ros_connection_s ros_connection_t; | |||
struct ros_reply_s; | struct ros_reply_s; | |||
typedef struct ros_reply_s ros_reply_t; | typedef struct ros_reply_s ros_reply_t; | |||
typedef int (*ros_reply_handler_t) (ros_connection_t *c, const ros_reply_t *r, | typedef int (*ros_reply_handler_t) (ros_connection_t *c, const ros_reply_t *r, | |||
End of changes. 2 change blocks. | ||||
0 lines changed or deleted | 30 lines changed or added | |||
routeros_version.h | routeros_version.h | |||
---|---|---|---|---|
skipping to change at line 31 | skipping to change at line 31 | |||
#ifndef ROUTEROS_VERSION_H | #ifndef ROUTEROS_VERSION_H | |||
#define ROUTEROS_VERSION_H 1 | #define ROUTEROS_VERSION_H 1 | |||
#ifdef __cplusplus | #ifdef __cplusplus | |||
extern "C" { | extern "C" { | |||
#endif | #endif | |||
#define ROS_VERSION_MAJOR 1 | #define ROS_VERSION_MAJOR 1 | |||
#define ROS_VERSION_MINOR 0 | #define ROS_VERSION_MINOR 0 | |||
#define ROS_VERSION_PATCH 0 | #define ROS_VERSION_PATCH 1 | |||
#define ROS_VERSION_STRING "1.0.0" | #define ROS_VERSION_STRING "1.0.1" | |||
#define ROS_VERSION_ENCODE(major, minor, patch) \ | #define ROS_VERSION_ENCODE(major, minor, patch) \ | |||
((major) * 10000 + (minor) * 100 + (patch)) | ((major) * 10000 + (minor) * 100 + (patch)) | |||
#define ROS_VERSION \ | #define ROS_VERSION \ | |||
ROS_VERSION_ENCODE(ROS_VERSION_MAJOR, ROS_VERSION_MINOR, ROS_VERSION _PATCH) | ROS_VERSION_ENCODE(ROS_VERSION_MAJOR, ROS_VERSION_MINOR, ROS_VERSION _PATCH) | |||
int ros_version (void); | int ros_version (void); | |||
const char *ros_version_string (void); | const char *ros_version_string (void); | |||
End of changes. 2 change blocks. | ||||
2 lines changed or deleted | 2 lines changed or added | |||