
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">

    <title>Subprojects / Apache Celix</title>

    
    <link rel="icon" href="/assets/img/favicon.ico">

    
    <link href="/assets/css/bootstrap.min.css" rel="stylesheet">

    
    <link href="/assets/css/style.css" rel="stylesheet">

    <style>
         
         
        .card-body img {
            max-width: 100%;
            width: 100%;
            height: auto;
        }

         
        .card-body img + em {
            text-decoration: underline;
        }
    </style>

    
<script>
  var _paq = window._paq = window._paq || [];
   
  _paq.push(['disableCookies']);
   
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://analytics.apache.org/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '9']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>


</head>
<body class="light-grey">

<a href="https://github.com/apache/celix" class="github-ribbon">
    <img src="/assets/img/forkme_right_red_aa0000.png" alt="Fork me on GitHub">
</a>


<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
    <div class="container">
        <a class="navbar-brand" href="/">
            <img src="/assets/img/celix-white.svg" height="40" class="d-inline-block align-top" alt="Celix Logo">
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarResponsive">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item">
                    <a class="nav-link" href="/">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="/download.cgi">Download</a>
                </li>
                <li class="nav-item dropdown active">
                    <a class="nav-link dropdown-toggle" href="#" id="ddDocs" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Docs
                    </a>
                    <div class="dropdown-menu" aria-labelledby="ddDocs">
                        <a class="dropdown-item" href="/docs/2.4.0/docs.html">2.4.0 (latest)</a>
                        <a class="dropdown-item" href="/docs/2.3.0/docs.html">2.3.0</a>
                        <a class="dropdown-item" href="/docs/2.2.1/docs.html">2.2.1</a>
                        <a class="dropdown-item" href="/docs/2.1.0/docs.html">2.1.0</a>
                    </div>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="ddContributing" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Contributing
                    </a>
                    <div class="dropdown-menu" aria-labelledby="ddContributing">
                        <a class="dropdown-item" href="/contributing/youatcelix.html">You at Celix</a>
                        <a class="dropdown-item" href="/contributing/submitting-patches.html">Submitting patches</a>
                        <a class="dropdown-item" href="/contributing/source-and-builds.html">Source code and builds</a>
                        <hr>
                        <a class="dropdown-item" href="/contributing/releasing.html">Releasing</a>
                        <a class="dropdown-item" href="/contributing/volunteers.html">Volunteers</a>
                        <a class="dropdown-item" href="https://whimsy.apache.org/board/minutes/Celix.html">Board Reports</a>
                    </div>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="ddSupport" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        Support
                    </a>
                    <div class="dropdown-menu" aria-labelledby="ddSupport">
                        <a class="dropdown-item" href="/support/mailing-list.html">Mailing Lists</a>
                        <a class="dropdown-item" href="/support/issue-tracking.html">Issue Tracking</a>
                    </div>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="ddFoundation" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                        ASF
                    </a>
                    <div class="dropdown-menu" aria-labelledby="ddFoundation">
                        <a class="dropdown-item" href="https://www.apache.org/">ASF Home</a>
                        <a class="dropdown-item" href="https://www.apache.org/foundation/how-it-works.html">How it works</a>
                        <a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
                        <a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
                        <a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
                        <a class="dropdown-item" href="https://www.apache.org/security/">Security</a>
                        <a class="dropdown-item" href="https://www.apache.org/foundation/policies/conduct">Code of Conduct</a>
                    </div>
                </li>
            </ul>
        </div>
    </div>
</nav>


<div class="section">
    <div class="container">
        <div class="row py-4">
            <div class="col-sm-12 card">
                <div class="card-body pt-5">
                    
                    
                        
                        
                    

                    
                        
                        <a href="/docs/2.1.0/docs.html" title="back to documentation">&lt;&lt; back to documentation</a>
                    

                    
	<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements.  See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You 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.
-->
<h1 id="apache-celix---subprojects">Apache Celix - Subprojects</h1>
<p>Apache Celix is organized into several subprojects. The following subproject are currently available:</p>
<ul>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/framework">Framework</a> - The Apache Celix framework, an implementation of OSGi adapted to C.</li>
<li><a href="../../dependency_manager/readme.html">C Dependency Manager</a> - A C component/dependency model for use through an API provided as library.</li>
<li><a href="../../dependency_manager_cxx/readme.html">C++ Dependency Manager</a> - A C++ component/dependency model for use through an API provided as library.</li>
<li><a href="../../device_access/README.html">Device Access</a> - An implementation of the OSGi Device Access specification adapted to C.</li>
<li><a href="../../etcdlib/README.html">Etcd library</a> - A C library that interfaces with ETCD.</li>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/examples">Examples</a> - A Selection of examples showing how the framework can be used.</li>
<li><a href="../../log_service/README.html">Log Service</a> - An implementation of the OSGi Log Service adapated to C.</li>
<li><a href="../../log_writer/README.html">Log Writer</a> - A simple log writer for use in combination with the Log Service.</li>
<li><a href="../../remote_services/README.html">Remote Service Admin</a> - An implementation of the OSGi Remote Service Admin Service - for several protocols - adapted to C.
<ul>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_http">Remote Service Admin HTTP</a> - A HTTP implementation of the RSA.</li>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_dfi">Remote Service Admin DFI</a> - A Dynamic Function Interface (DFI) implementation of the RSA.</li>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/remote_service_admin_shm">Remote Service Admin SHM</a> - A shared memory implementation of the RSA.</li>
<li><a href="../../remote_services/topology_manager/README.html">Topology Manager</a> - A (scoped) RSA Topology Manager implementation.</li>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/discovery_configured">Discovery Configured</a> - A RSA Discovery implementation using static configuration (xml).</li>
<li><a href="../../remote_services/discovery_etcd/README.html">Discovery Etcd</a> - A RSA Discovery implementation using etcd.</li>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/remote_services/discovery_shm">Discovery SHM</a> - A RSA Discovery implementation using shared memory.</li>
</ul>
</li>
<li><a href="../../shell/README.html">Shell</a> - A OSGi shell implementation.</li>
<li><a href="../../shell_tui/README.html">Shell TUI</a> - A textual UI for the Celix Shell.</li>
<li><a href="../../remote_shell/README.html">Remote Shell</a> - A remote (telnet) frontend for the Celix shell.</li>
<li><a href="https://github.com/apache/celix/tree/rel/celix-2.1.0/shell_bonjour">Bonjour Shell</a> - A remote (Bonjour / mDNS) frontend for the Celix shell.</li>
<li><a href="../../deployment_admin/README.html">Deployment Admin</a> - A deployment admin implementation.</li>
<li><a href="../../pubsub/README.html">Pubsub</a> - An implementation for a publish-subscribe remote services system, that use dfi library for message serialization.</li>
</ul>


                </div>
            </div>
        </div>
    </div>
</div>


<footer class="py-3 bg-secondary">
    <div class="container">
        <div class="row">
            <div class="col-md-8 text-center">
                <p class="m-0 text-white">
                    Copyright &copy; 2024 The Apache Software Foundation, Licensed under
                    the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.
                    <br>
                    Apache Celix, Celix, Apache, the Apache feather logo and the Apache Celix logo are trademarks of The Apache Software Foundation.
                </p>
            </div>
            <div class="col-md-4 text-center">
                <a href="https://www.apache.org/events/current-event.html" target="_blank">
                    <img src="https://www.apache.org/events/current-event-234x60.png" title="Apache Event" width="234" height="60" border="0">
                </a>
            </div>
        </div>
    </div>
</footer>


<script src="/assets/js/jquery.min.js"></script>
<script src="/assets/js/bootstrap.bundle.min.js"></script>


</body>
</html>
