EDG_WLL_PARAM_NOTIF_SERVER, /**< default notification server name */
EDG_WLL_PARAM_NOTIF_SERVER_PORT,/**< default notification server port */
EDG_WLL_PARAM_NOTIF_TIMEOUT, /**< notif timeout */
- EDG_WLL_PARAM_LBPROXY_STORE_SOCK,/**< lbproxy store socket path */
- EDG_WLL_PARAM_LBPROXY_SERVE_SOCK,/**< lbproxy serve socket path */
- EDG_WLL_PARAM_LBPROXY_USER, /**< user credentials when logging to L&B Proxy */
EDG_WLL_PARAM_X509_PROXY, /**< proxy file to use for authentication */
EDG_WLL_PARAM_X509_KEY, /**< key file to use for authentication */
EDG_WLL_PARAM_X509_CERT, /**< certificate file to use for authentication */
+ EDG_WLL_PARAM_LBPROXY_STORE_SOCK,/**< lbproxy store socket path */
+ EDG_WLL_PARAM_LBPROXY_SERVE_SOCK,/**< lbproxy serve socket path */
+ EDG_WLL_PARAM_LBPROXY_USER, /**< user credentials when logging to L&B Proxy */
EDG_WLL_PARAM__LAST, /**< marker, LB internal use only */
} edg_wll_ContextParam;
EDG_WLL_ERROR_PARSE_MSG_INCOMPLETE, /**< Incomplete message (missing fields) */
EDG_WLL_ERROR_PARSE_KEY_DUPLICITY, /**< Duplicate entry in message */
EDG_WLL_ERROR_PARSE_KEY_MISUSE, /**< Entry not allowed for this message type */
- EDG_WLL_ERROR_PARSE_OK_WITH_EXTRA_FIELDS, /**< Additional, not understood fields found in message */
- EDG_WLL_ERROR_COMPARE_EVENTS, /**< Two compared events differ.
+ EDG_WLL_ERROR_PARSE_OK_WITH_EXTRA_FIELDS, /**< Additional, not understood fields found in message.
The rest is OK therefore this is not a true error. */
EDG_WLL_ERROR_XML_PARSE, /**< Error in parsing XML protocol. */
EDG_WLL_ERROR_SERVER_RESPONSE, /**< Generic failure on server. See syslog on the server machine for details. */
EDG_WLL_ERROR_URL_FORMAT, /**< Malformed URL */
EDG_WLL_ERROR_MD5_CLASH, /**< MD5 hash same for different strings. Very unlikely :-). */
EDG_WLL_ERROR_GSS, /**< Generic GSSAPI error. See errDesc returned by edg_wll_Error(). */
+ EDG_WLL_ERROR_DNS, /**< DNS resolver error. See errDesc returned by edg_wll_Error(). */
EDG_WLL_ERROR_NOJOBID, /**< Attmepted call requires calling edg_wll_SetLoggingJob() first. */
EDG_WLL_ERROR_NOINDEX, /**< Query does not contain any conidion on indexed attribute. */
EDG_WLL_IL_PROTO, /**< Interlogger to lbserver communication protocol error. */
EDG_WLL_IL_SYS, /**< Interlogger internal error. */
EDG_WLL_IL_EVENTS_WAITING, /**< Interlogger still has events pending delivery. */
- EDG_WLL_ERROR_DNS, /**< DNS resolver error. See errDesc returned by edg_wll_Error(). */
+ EDG_WLL_ERROR_COMPARE_EVENTS, /**< Two compared events differ. */
} edg_wll_ErrorCode;
/**
${COVERAGE_FLAGS} \
-DDATAGRID_EXTENSION
+# We must follow major version changes of org.glite.lb.client-interface due to
+# binary compatibility. However, we may live a life of our own, changing our
+# major version more frequently. This variable specifies how many steps ahead
+# we are.
+
+VERSION_AHEAD=0
+
GLOBUS_LIBS:=-L${globus_prefix}/lib \
-lglobus_common_${nothrflavour} \
-lglobus_gssapi_gsi_${nothrflavour} \
default: all
-all compile: ${STATICLIB} ${LTLIB} ${THRSTATICLIB} ${THRLTLIB}
+all compile: check_version ${STATICLIB} ${LTLIB} ${THRSTATICLIB} ${THRLTLIB}
+
+version_info=-version-info `echo ${version} | cut -d. -f1,2 | tr . :`
${STATICLIB}: ${OBJS}
ar crv $@ ${OBJS}
ranlib $@
${LTLIB}: ${OBJS}
- ${LINK} -o $@ ${LOBJS} \
+ ${LINK} ${version_info} -o $@ ${LOBJS} \
-lglite_wmsutils_cjobid \
-lm
${THRLTLIB}: ${THROBJS}
- ${LINK} -o $@ ${THRLOBJS} \
+ ${LINK} ${version_info} -o $@ ${THRLOBJS} \
-lglite_wmsutils_cjobid \
-lm
rm -f $@
${AT3} $< >$@ || rm -f $@
chmod -w $@ >/dev/null
+
+check_version:
+ @perl -ne '/#define GLITE_LB_CLIENT_INTERFACE "(\d+)\.\d+\.\d+"/; \
+ $$iface=$$1; \
+ $$_="${version}"; /(\d+)\.\d+\.\d+/; \
+ if ($$iface + ${VERSION_AHEAD} != $$1) { \
+ print "error: Major version of the interface ($$iface+${VERSION_AHEAD}) does not match implementation ($$1)\n" ;\
+ exit 1; \
+ } \
+ ' ${stagedir}/include/glite/lb/interface_version.h
"Duplicate ULM key",
"Misuse of ULM key",
"Warning: extra ULM fields",
- "Compared events differ",
"XML Parse error",
"Server response error",
"Bad JobId format",
"Bad URL format",
"MD5 key clash",
"GSSAPI Error",
+ "DNS resolver error",
"No JobId specified in context",
"No indexed condition in query",
"Interlogger protocol error",
"Interlogger internal error",
- "Interlogger has events pending"
- "DNS resolver error",
+ "Interlogger has events pending",
+ "Compared events differ",
};
const char *edg_wll_GetErrorText(int code) {