ソースを参照

Add missing files from the ais utils exporting patch.

git-svn-id: http://svn.fedorahosted.org/svn/corosync/trunk@1445 fd59a12c-fef9-0310-b244-a6a79926bd2f
Steven Dake 18 年 前
コミット
3e788da191
2 ファイル変更155 行追加0 行削除
  1. 137 0
      include/ais_util.h
  2. 18 0
      lib/libaisutil.versions

+ 137 - 0
include/ais_util.h

@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2002-2005 MontaVista Software, Inc.
+ *
+ * All rights reserved.
+ *
+ * Author: Steven Dake (sdake@mvista.com)
+ *
+ * This software licensed under BSD license, the text of which follows:
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ * - Redistributions of source code must retain the above copyright notice,
+ *   this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright notice,
+ *   this list of conditions and the following disclaimer in the documentation
+ *   and/or other materials provided with the distribution.
+ * - Neither the name of the MontaVista Software, Inc. nor the names of its
+ *   contributors may be used to endorse or promote products derived from this
+ *   software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef AIS_UTIL_H_DEFINED
+#define AIS_UTIL_H_DEFINED
+
+#include <pthread.h>
+#include <sys/poll.h>
+#include <sys/socket.h>
+
+#include <ipc_gen.h>
+
+/* Debug macro
+ */
+#ifdef DEBUG
+	#define DPRINT(s) printf s
+#else
+	#define DPRINT(s)
+#endif
+		
+#ifdef SO_NOSIGPIPE
+#ifndef MSG_NOSIGNAL
+#define MSG_NOSIGNAL 0
+#endif
+void socket_nosigpipe(int s);
+#else
+#define socket_nosigpipe(s)
+#endif
+
+struct saHandleDatabase {
+	unsigned int handleCount;
+	struct saHandle *handles;
+	pthread_mutex_t mutex;
+	void (*handleInstanceDestructor) (void *);
+};
+
+
+struct saVersionDatabase {
+	int versionCount;
+	SaVersionT *versionsSupported;
+};
+
+SaAisErrorT saSendMsgRetry (
+	int s,
+	struct iovec *iov,
+	int iov_len);
+
+SaAisErrorT saSendMsgReceiveReply (
+	int s,
+	struct iovec *iov,
+	int iov_len,
+	void *responseMessage,
+	int responseLen);
+
+SaAisErrorT saSendReceiveReply (
+	int s,
+	void *requestMessage,
+	int requestLen,
+	void *responseMessage,
+	int responseLen);
+
+SaAisErrorT
+saPollRetry (
+	struct pollfd *ufds,
+	unsigned int nfds,
+	int timeout);
+
+SaAisErrorT
+saHandleCreate (
+	struct saHandleDatabase *handleDatabase,
+	int instanceSize,
+	SaUint64T *handleOut);
+
+SaAisErrorT
+saHandleDestroy (
+	struct saHandleDatabase *handleDatabase,
+	SaUint64T handle);
+
+SaAisErrorT
+saHandleInstanceGet (
+	struct saHandleDatabase *handleDatabase,
+	SaUint64T handle,
+	void **instance);
+
+SaAisErrorT
+saHandleInstancePut (
+	struct saHandleDatabase *handleDatabase,
+	SaUint64T handle);
+
+SaAisErrorT
+saVersionVerify (
+	struct saVersionDatabase *versionDatabase,
+	SaVersionT *version);
+
+#define offset_of(type,member) (int)(&(((type *)0)->member))
+
+SaTimeT
+clustTimeNow(void);
+
+extern SaAisErrorT saServiceConnect (
+    int *responseOut, int *callbackOut, enum service_types service);
+
+extern SaAisErrorT saRecvRetry (int s, void *msg, size_t len);
+
+extern SaAisErrorT saSendRetry (int s, const void *msg, size_t len);
+
+#endif /* AIS_UTIL_H_DEFINED */

+ 18 - 0
lib/libaisutil.versions

@@ -0,0 +1,18 @@
+# Version and symbol export for libaisutil.so
+
+OPENAIS_UTIL_2.0 {
+	global:
+		saHandleCreate;
+		saHandleDestroy;
+		saHandleInstanceGet;
+		saHandleInstancePut;
+		saRecvRetry;
+		saSelectRetry;
+		saSendMsgReceiveReply;
+		saSendMsgRetry;
+		saSendReceiveReply;
+		saSendRetry;
+		saServiceConnect;
+		saVersionVerify;
+		clustTimeNow;
+};