00001 /** 00002 * @file ccn/uri.h 00003 * 00004 * ccn-scheme uri conversions. 00005 * 00006 * Part of the CCNx C Library. 00007 * 00008 * Copyright (C) 2008, 2009, 2010 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_URI_DEFINED 00023 #define CCN_URI_DEFINED 00024 00025 #include <ccn/charbuf.h> 00026 00027 /* Conversion from ccnb name component to percent-escaped uri component */ 00028 void 00029 ccn_uri_append_percentescaped(struct ccn_charbuf *c, 00030 const unsigned char *data, size_t size); 00031 00032 /* Conversion from ccnb to uri */ 00033 int 00034 ccn_uri_append(struct ccn_charbuf *c, 00035 const unsigned char *ccnb, 00036 size_t size, 00037 int includescheme); 00038 00039 00040 /* Conversion from uri to ccnb form */ 00041 int ccn_name_from_uri(struct ccn_charbuf *c, const char *uri); 00042 00043 #endif