00001 /** 00002 * @file ccn/ccn_private.h 00003 * 00004 * Additional operations that are irrevalent for most clients. 00005 * 00006 * Part of the CCNx C Library. 00007 * 00008 * Copyright (C) 2009 Palo Alto Research Center, Inc. 00009 * 00010 * This library is free software; you can redistribute it and/or modify it 00011 * under the terms of the GNU Lesser General Public License version 2.1 00012 * as published by the Free Software Foundation. 00013 * This library is distributed in the hope that it will be useful, 00014 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 * Lesser General Public License for more details. You should have received 00017 * a copy of the GNU Lesser General Public License along with this library; 00018 * if not, write to the Free Software Foundation, Inc., 51 Franklin Street, 00019 * Fifth Floor, Boston, MA 02110-1301 USA. 00020 */ 00021 00022 #ifndef CCN_PRIVATE_DEFINED 00023 #define CCN_PRIVATE_DEFINED 00024 00025 #include <sys/types.h> 00026 #include <stdint.h> 00027 00028 struct ccn; 00029 struct ccn_charbuf; 00030 struct sockaddr_un; 00031 00032 /* 00033 * Dispatch a message as if it had arrived on the socket 00034 */ 00035 void ccn_dispatch_message(struct ccn *h, unsigned char *msg, size_t size); 00036 00037 /* 00038 * Do any time-based operations 00039 * Returns number of microseconds before next call needed 00040 */ 00041 int ccn_process_scheduled_operations(struct ccn *h); 00042 00043 /* 00044 * Grab buffered output 00045 * Caller should destroy returned buffer. 00046 */ 00047 struct ccn_charbuf *ccn_grab_buffered_output(struct ccn *h); 00048 00049 void ccn_setup_sockaddr_un(const char *, struct sockaddr_un *); 00050 00051 #endif