summaryrefslogtreecommitdiffstats
path: root/lib/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'lib/README.md')
-rw-r--r--lib/README.md114
1 files changed, 0 insertions, 114 deletions
diff --git a/lib/README.md b/lib/README.md
deleted file mode 100644
index 6dac988db..000000000
--- a/lib/README.md
+++ /dev/null
@@ -1,114 +0,0 @@
-# libhicn
-
-## Introduction
-
-libhicn provides a support library coded in C designed to help developers embed
-Hybrid ICN (hICN) functionalities in their applications (eg. forwarder, socket
-API, etc.). Its purpose is to follow the hICN specification for which it
-provides a reference implementation, abstracting the user from all internal
-mechanisms, and offering an API independent of the packet format (eg. IPv4 or
-IPv6). The library is designed to be portable across both desktop and
-mobile platforms, and we currently aim at supporting Linux, Android, OSX and
-iOS, by writing the necessary adapters to realize hICN functionality in
-userspace according to the available APIs and permissions that each system
-offers.
-
-The library consists in several layers:
-- the core library (hicn.h) provides a standard hICN packet format, as well as
-an API allowing manipulation of packet headers;
-- an hICN helper, allowing an hICN stack to be built in userspace in a portable
-way, based on TUN devices and accessible though file descriptors;
-- a network layer allow the sending an receiving of hICN packets on those file
-descriptors, implementing both source and destination address translation as
-required by the hICN mechanisms;
-- finally, a "transport" API allows the forging of dummy interest and data
-packets.
-
-A commandline interface (hicnc) is also provided that uses the library and can
-for instance be used as a test traffic generator. This interface can be run as
-either a consumer, a producer, or a simple forwarder.
-
-## Folder content
-
-CMakeLists.txt CMkake global build file
-doc Package documentation
-README.md This file
-src
- base.h Base definitions for hICN implementation
- CMakeLists.txt CMake library build file
- common.{h,c} Harmonization layer across supported platforms
- compat.{h,c} Compatibility layer for former API
- error.{h,c} Error management files
- header.h hICN header definitions
- hicn.h Master include file
- mapme.{h,c} MAP-Me : anchorless producer mobility mechanisms
- name.{h,c} hICN naming conventions and name processing + IP helpers
- ops.{h,c} Protocol-independent hICN operations
- protocol/* Protocol headers + protocol-dependent implementations
- protocol.h Common file for protocols
-
-## Using libhicn
-
-### Platforms ###
-
-libhicn has been tested in:
-
-- Ubuntu 16.04 LTS (x86_64)
-- Ubuntu 18.04 LTS (x86_64)
-- Debian Stable/Testing
-- Red Hat Enterprise Linux 7
-- CentOS 7
-- Android 8
-- iOS 12
-- macOS 10.12
-- Windows 10
-
-Other platforms and architectures may work.
-
-### Dependencies
-
-Build dependencies:
-
-- c11 ( clang / gcc )
-- CMake 3.4
-
-Basic dependencies: None
-
-## Installation
-
-You can either use released packages, or compile libhicn from sources.
-
-### Release mode
-
-mkdir build
-cd build
-cmake ..
-make
-sudo make install
-
-### Debug mode
-
-mkdir debug
-cd debug
-cmake .. -DCMAKE_BUILD_TYPE=Debug
-make
-sudo make install
-
-## License
-
-This software is distributed under the following license:
-
-```
-Copyright (c) 2017-2019 Cisco and/or its affiliates.
-Licensed under the Apache License, Version 2.0 (the "License");
-you may not use this file except in compliance with the License.
-You may obtain a copy of the License at:
-
- http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-```