|
|
@ -0,0 +1,64 @@ |
|
|
|
|
|
/** |
|
|
|
|
|
* \file |
|
|
|
|
|
* |
|
|
|
|
|
* \author Georg Hopp |
|
|
|
|
|
* |
|
|
|
|
|
* \copyright |
|
|
|
|
|
* Copyright © 2014 Georg Hopp |
|
|
|
|
|
* |
|
|
|
|
|
* This program is free software: you can redistribute it and/or modify |
|
|
|
|
|
* it under the terms of the GNU General Public License as published by |
|
|
|
|
|
* the Free Software Foundation, either version 3 of the License, or |
|
|
|
|
|
* (at your option) any later version. |
|
|
|
|
|
* |
|
|
|
|
|
* This program is distributed in the hope that it will be useful, |
|
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
|
|
|
* GNU General Public License for more details. |
|
|
|
|
|
* |
|
|
|
|
|
* You should have received a copy of the GNU General Public License |
|
|
|
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
|
|
#include <stdarg.h> |
|
|
|
|
|
|
|
|
|
|
|
#include "trbase.h" |
|
|
|
|
|
|
|
|
|
|
|
#include "tr/datagram_service.h" |
|
|
|
|
|
#include "tr/datagram_entry_point.h" |
|
|
|
|
|
|
|
|
|
|
|
static |
|
|
|
|
|
int |
|
|
|
|
|
datagramEntryPointCtor(void * _this, va_list * params) |
|
|
|
|
|
{ |
|
|
|
|
|
TR_CommEndPoint this = _this; |
|
|
|
|
|
|
|
|
|
|
|
TR_PARENTCALL(TR_DatagramEntryPoint, _this, TR_Class, ctor, params); |
|
|
|
|
|
|
|
|
|
|
|
TR_socketBind((TR_Socket)this->transport); |
|
|
|
|
|
TR_socketNonblock((TR_Socket)this->transport); |
|
|
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static |
|
|
|
|
|
void |
|
|
|
|
|
datagramEntryPointDtor(void * _this) |
|
|
|
|
|
{ |
|
|
|
|
|
TR_PARENTCALL(TR_DatagramEntryPoint, _this, TR_Class, dtor); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
intptr_t datagramEntryPoint_events[TR_CEP_EVENT_MAX + 1]; |
|
|
|
|
|
TR_INIT_IFACE(TR_Class, datagramEntryPointCtor, datagramEntryPointDtor, NULL); |
|
|
|
|
|
TR_CREATE_CLASS( |
|
|
|
|
|
TR_DatagramEntryPoint, |
|
|
|
|
|
TR_DatagramService, |
|
|
|
|
|
NULL, |
|
|
|
|
|
TR_IF(TR_Class)) = { |
|
|
|
|
|
{{ |
|
|
|
|
|
TR_CEP_EVENT_MAX + 1, |
|
|
|
|
|
datagramEntryPoint_events |
|
|
|
|
|
}} |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// vim: set ts=4 sw=4: |