mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
2662b59306
Docs/manual.texi: Added Innobase documentation configure.in: Incremented version include/my_base.h: Added option for Innobase myisam/mi_check.c: cleanup mysql-test/t/bdb.test: cleanup mysql-test/t/innobase.test: Extended with new tests from bdb.test mysql-test/t/merge.test: Added test of SHOW create mysys/my_init.c: Fix for UNIXWARE 7 scripts/mysql_install_db.sh: Always write how to start mysqld scripts/safe_mysqld.sh: Fixed type sql/ha_innobase.cc: Update to new version sql/ha_innobase.h: Update to new version sql/handler.h: Added 'update_table_comment()' and 'append_create_info()' sql/sql_delete.cc: Fixes for Innobase sql/sql_select.cc: Fixes for Innobase sql/sql_show.cc: Append create information (for MERGE tables) sql/sql_update.cc: Fixes for Innobase
103 lines
3.2 KiB
C
103 lines
3.2 KiB
C
/******************************************************
|
|
The communication through shared memory
|
|
|
|
(c) 1995 Innobase Oy
|
|
|
|
Created 9/23/1995 Heikki Tuuri
|
|
*******************************************************/
|
|
|
|
#ifndef com0shm_h
|
|
#define com0shm_h
|
|
|
|
#include "univ.i"
|
|
|
|
typedef struct com_shm_endpoint_struct com_shm_endpoint_t;
|
|
|
|
/* The performance of communication in NT depends on how
|
|
many times a system call is made (excluding os_thread_yield,
|
|
as that is the fastest way to switch thread).
|
|
The following variable counts such events. */
|
|
|
|
extern ulint com_shm_system_call_count;
|
|
|
|
|
|
/*************************************************************************
|
|
Creates a communications endpoint. */
|
|
|
|
com_shm_endpoint_t*
|
|
com_shm_endpoint_create(void);
|
|
/*=========================*/
|
|
/* out, own: communications endpoint, NULL if
|
|
did not succeed */
|
|
/*************************************************************************
|
|
Frees a communications endpoint. */
|
|
|
|
ulint
|
|
com_shm_endpoint_free(
|
|
/*==================*/
|
|
/* out: O if succeed, else error number */
|
|
com_shm_endpoint_t* ep);/* in, own: communications endpoint */
|
|
/*************************************************************************
|
|
Sets an option, like the maximum datagram size for an endpoint.
|
|
The options may vary depending on the endpoint type. */
|
|
|
|
ulint
|
|
com_shm_endpoint_set_option(
|
|
/*========================*/
|
|
/* out: 0 if succeed, else error number */
|
|
com_shm_endpoint_t* ep, /* in: endpoint */
|
|
ulint optno, /* in: option number, only
|
|
COM_OPT_MAX_DGRAM_SIZE currently supported */
|
|
byte* optval, /* in: pointer to a buffer containing the
|
|
option value to set */
|
|
ulint optlen);/* in: option value buffer length */
|
|
/*************************************************************************
|
|
Bind a communications endpoint to a specified address. */
|
|
|
|
ulint
|
|
com_shm_bind(
|
|
/*=========*/
|
|
/* out: 0 if succeed, else error number */
|
|
com_shm_endpoint_t* ep, /* in: communications endpoint */
|
|
char* name, /* in: address name */
|
|
ulint len); /* in: address name length */
|
|
/*************************************************************************
|
|
Waits for a datagram to arrive at an endpoint. */
|
|
|
|
ulint
|
|
com_shm_recvfrom(
|
|
/*=============*/
|
|
/* out: 0 if succeed, else error number */
|
|
com_shm_endpoint_t* ep, /* in: communications endpoint */
|
|
byte* buf, /* out: datagram buffer; the buffer is
|
|
supplied by the caller */
|
|
ulint buf_len,/* in: datagram buffer length */
|
|
ulint* len, /* out: datagram length */
|
|
char* from, /* out: address name buffer; the buffer is
|
|
supplied by the caller */
|
|
ulint from_len,/* in: address name buffer length */
|
|
ulint* addr_len);/* out: address name length */
|
|
/*************************************************************************
|
|
Sends a datagram to the specified destination. */
|
|
|
|
ulint
|
|
com_shm_sendto(
|
|
/*===========*/
|
|
/* out: 0 if succeed, else error number */
|
|
com_shm_endpoint_t* ep, /* in: communications endpoint */
|
|
byte* buf, /* in: datagram buffer */
|
|
ulint len, /* in: datagram length */
|
|
char* to, /* in: address name buffer */
|
|
ulint tolen); /* in: address name length */
|
|
|
|
ulint
|
|
com_shm_endpoint_get_size(
|
|
/*======================*/
|
|
com_shm_endpoint_t* ep);
|
|
|
|
|
|
#ifndef UNIV_NONINL
|
|
#include "com0shm.ic"
|
|
#endif
|
|
|
|
#endif
|