From 4b4ee22cffae188405e7aba5ce30a85f1221381c Mon Sep 17 00:00:00 2001 From: stefanocasazza Date: Tue, 12 Mar 2019 15:51:52 +0100 Subject: [PATCH] fix --- include/ulib/container/vector.h | 17 +- include/ulib/net/client/client.h | 3 - include/ulib/net/client/redis.h | 38 +- include/ulib/utility/uhttp.h | 2 +- src/ulib/net/client/client.cpp | 1 - src/ulib/net/client/redis.cpp | 391 ++++++++----- src/ulib/utility/socket_ext.cpp | 3 - src/ulib/utility/uhttp.cpp | 13 +- tests/examples/TSA/tsaserial | 2 +- tests/ulib/README | 28 - tests/ulib/plugin/.deps/.dirstamp | 0 tests/ulib/plugin/.deps/product1.Plo | 828 +++++++++++++++++++++++++++ tests/ulib/plugin/.deps/product2.Plo | 828 +++++++++++++++++++++++++++ 13 files changed, 1928 insertions(+), 226 deletions(-) create mode 100644 tests/ulib/plugin/.deps/.dirstamp create mode 100644 tests/ulib/plugin/.deps/product1.Plo create mode 100644 tests/ulib/plugin/.deps/product2.Plo diff --git a/include/ulib/container/vector.h b/include/ulib/container/vector.h index 4761c495..f06d810e 100644 --- a/include/ulib/container/vector.h +++ b/include/ulib/container/vector.h @@ -927,24 +927,27 @@ private: */ class UVectorStringIter { // this class is to make work Range-based for loop: for ( UString x : UVector ) loop_statement public: - explicit UVectorStringIter(const UVector* p_vec, uint32_t pos) : _pos(pos), _p_vec(p_vec) {} + explicit UVectorStringIter(UVector* p_vec, uint32_t pos) : _pos(pos), _p_vec(p_vec) {} // these three methods form the basis of an iterator for use with a range-based for loop + bool operator==(const UVectorStringIter& other) const { return (_pos == other._pos); } bool operator!=(const UVectorStringIter& other) const { return (_pos != other._pos); } // this method must be defined after the definition of UVector since it needs to use it inline UString operator*() const; - const UVectorStringIter& operator++() + UVectorStringIter& operator++() { ++_pos; return *this; // although not strictly necessary for a range-based for loop following the normal convention of returning a value from operator++ is a good idea } + inline UVectorStringIter& erase(); + private: uint32_t _pos; - const UVector* _p_vec; + UVector* _p_vec; }; #endif @@ -974,8 +977,10 @@ public: } #if defined(U_STDCPP_ENABLE) && defined(HAVE_CXX11) - UVectorStringIter begin() const { return UVectorStringIter(this, 0); } - UVectorStringIter end() const { return UVectorStringIter(this, _length); } + UVectorStringIter begin() { return UVectorStringIter(this, 0); } + UVectorStringIter end() { return UVectorStringIter(this, _length); } + + UVectorStringIter& erase(UVectorStringIter& it) { return it.erase(); } # ifdef U_COMPILER_RANGE_FOR explicit UVector(const std::initializer_list& l) : UVector(l.size()) @@ -1356,5 +1361,7 @@ private: #if defined(U_STDCPP_ENABLE) && defined(HAVE_CXX11) inline UString UVectorStringIter::operator* () const { return _p_vec->at(_pos); } + +inline UVectorStringIter& UVectorStringIter::erase() { _p_vec->erase(_pos); return *this; } #endif #endif diff --git a/include/ulib/net/client/client.h b/include/ulib/net/client/client.h index 8ab65de6..2394e72c 100644 --- a/include/ulib/net/client/client.h +++ b/include/ulib/net/client/client.h @@ -319,9 +319,6 @@ private: // U_DISALLOW_COPY_AND_ASSIGN(UClient_Base) static USocket* csocket; - static vPFu resize_response_buffer; - - void setForResizeResponseBuffer(vPFu func) { csocket = socket; resize_response_buffer = func; } friend class UHTTP; friend class USocketExt; diff --git a/include/ulib/net/client/redis.h b/include/ulib/net/client/redis.h index f3fe69d1..59b3c0b3 100644 --- a/include/ulib/net/client/redis.h +++ b/include/ulib/net/client/redis.h @@ -787,11 +787,6 @@ public: (withPayloads ? U_CONSTANT_SIZE("WITHPAYLOADS") : 0), "WITHPAYLOADS")); } - // PUB/SUB (@see http://redis.io/pubsub) - - bool unsubscribe(const UString& channel); // unregister the callback for messages published to the given channels - bool subscribe(const UString& channel, vPFcscs callback); // register the callback for messages published to the given channels - // define method VIRTUAL of class UEventFd virtual int handlerRead() U_DECL_FINAL; @@ -805,16 +800,6 @@ public: UEventFd::fd = -1; } - void listenForEvents() - { - U_TRACE_NO_PARAM(0, "UREDISClient_Base::listenForEvents()") - - UEventFd::op_mask |= EPOLLET; - UEventFd::op_mask &= ~EPOLLRDHUP; - - UNotifier::insert(this, EPOLLEXCLUSIVE | EPOLLROUNDROBIN); // NB: we ask to listen for events to a Redis publish channel... - } - #if defined(U_STDCPP_ENABLE) && defined(DEBUG) const char* dump(bool reset) const; #endif @@ -826,6 +811,7 @@ protected: static ptrdiff_t diff; static UVector* pvec; static UREDISClient_Base* pthis; + static UHashMap* pchannelCallbackMap; UREDISClient_Base() : UClient_Base(U_NULLPTR) @@ -983,10 +969,11 @@ private: class U_EXPORT UREDISClusterClient : public UREDISClient { private: + struct RedisNode { UString ipAddress; UREDISClient client; - uint16_t lowHashSlot, highHashSlot; + uint16_t port, lowHashSlot, highHashSlot; }; enum class ClusterError : uint8_t { @@ -999,6 +986,7 @@ private: ClusterError error; UString temporaryASKip; std::vector redisNodes; + UREDISClient subscriptionClient; uint16_t hashslotForKey(const UString& hashableKey) { return u_crc16(U_STRING_TO_PARAM(hashableKey)); } @@ -1052,7 +1040,9 @@ public: void processResponse(); void calculateNodeMap(); - const UVector& processPipeline(UString& pipeline, bool silence); + bool connect(const char* host = U_NULLPTR, unsigned int _port = 6379); + + const UVector& processPipeline(UString& pipeline, bool silence, bool reorderable); // all of these multis require all keys to exist within a single hash slot (on the same node isn't good enough) @@ -1062,13 +1052,17 @@ public: void clusterSilencedMulti( const UString& hashableKey, UString& pipeline) { clientForHashableKey(hashableKey).silencedMulti(pipeline); } void clusterSilencedSingle(const UString& hashableKey, UString& pipeline) { clientForHashableKey(hashableKey).silencedSingle(pipeline); } - // anon multis are pipelined commands of various keys that might belong to many nodes. always processed in order. commands always delimined by \r\n + // anon multis are pipelined commands of various keys that might belong to many nodes. always processed in order. Commands always delimined by \r\n + // example -> SET {abc}xyz 5 \r\n GET abc{xyz} \r\n SET xyz{abc} 9 \r\n + // if "abc" and "xyz" reside on different hashslots, if reorderable = false, this will generate 3 seperate pushes. if reorderable = true, only 2. + // currently supports CLIENT REPLY _____ type directives.... but any other commands without keys like {abc}, will break. + // if you wrap commands in CLIENT REPLY ____ directives and they DO NOT belong to the same hashslot, THESE WRITES WILL BREAK - const UVector& clusterAnonMulti( UString& pipeline) { return processPipeline(pipeline, false); } - void clusterSilencedAnonMulti(UString& pipeline) { (void) processPipeline(pipeline, true); } + const UVector& clusterAnonMulti( UString& pipeline, bool reorderable) { return processPipeline(pipeline, false, reorderable); } + void clusterSilencedAnonMulti(UString& pipeline, bool reorderable) { (void) processPipeline(pipeline, true, reorderable); } - bool clusterUnsubscribe(const UString& hashableKey, const UString& channel) { return clientForHashableKey(hashableKey).unsubscribe(channel); } - bool clusterSubscribe( const UString& hashableKey, const UString& channel, vPFcscs callback) { return clientForHashableKey(hashableKey).subscribe(channel, callback); } + bool clusterUnsubscribe(const UString& channel); + bool clusterSubscribe( const UString& channel, vPFcscs callback); // DEBUG diff --git a/include/ulib/utility/uhttp.h b/include/ulib/utility/uhttp.h index e1dcc9bb..71e185d2 100644 --- a/include/ulib/utility/uhttp.h +++ b/include/ulib/utility/uhttp.h @@ -714,9 +714,9 @@ public: #ifdef U_SSE_ENABLE // SERVER SENT EVENTS (SSE) typedef UString (*strPF)(); - static bool sse_auth; static strPF sse_func; static int sse_pipe_fd; + static bool sse_auth, sse_req; static const char* sse_corsbase; static bool isValidationSSE(); diff --git a/src/ulib/net/client/client.cpp b/src/ulib/net/client/client.cpp index a6c84e09..b0671e0e 100644 --- a/src/ulib/net/client/client.cpp +++ b/src/ulib/net/client/client.cpp @@ -16,7 +16,6 @@ #include int UClient_Base::queue_fd = -1; -vPFu UClient_Base::resize_response_buffer; bool UClient_Base::bIPv6; bool UClient_Base::log_shared_with_server; ULog* UClient_Base::log; diff --git a/src/ulib/net/client/redis.cpp b/src/ulib/net/client/redis.cpp index 54a8835f..1e4db0ad 100644 --- a/src/ulib/net/client/redis.cpp +++ b/src/ulib/net/client/redis.cpp @@ -46,7 +46,7 @@ void UREDISClient_Base::init() UClient_Base::reserve(UString::_getReserveNeed()); - UClient_Base::setForResizeResponseBuffer(manageResponseBufferResize); + UClient_Base::csocket = socket; } bool UREDISClient_Base::connect(const char* phost, unsigned int _port) @@ -543,46 +543,6 @@ bool UREDISClient_Base::deleteKeys(const char* pattern, uint32_t len) // Delete U_RETURN(true); } -// PUB/SUB (@see http://redis.io/pubsub) - -bool UREDISClient_Base::unsubscribe(const UString& channel) // unregister the callback for messages published to the given channels -{ - U_TRACE(0, "UREDISClient_Base::unsubscribe(%V)", channel.rep) - - if (processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("UNSUBSCRIBE"), U_STRING_TO_PARAM(channel))) - { - if (pchannelCallbackMap == U_NULLPTR) - { - U_NEW(UHashMap, pchannelCallbackMap, UHashMap); - } - - (void) pchannelCallbackMap->erase(channel); - - U_RETURN(true); - } - - U_RETURN(false); -} - -bool UREDISClient_Base::subscribe(const UString& channel, vPFcscs callback) // register the callback for messages published to the given channels -{ - U_TRACE(0, "UREDISClient_Base::subscribe(%V,%p)", channel.rep, callback) - - if (processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("SUBSCRIBE"), U_STRING_TO_PARAM(channel))) - { - if (pchannelCallbackMap == U_NULLPTR) - { - U_NEW(UHashMap, pchannelCallbackMap, UHashMap); - } - - pchannelCallbackMap->insert(channel, (const void*)callback); - - U_RETURN(true); - } - - U_RETURN(false); -} - // define method VIRTUAL of class UEventFd int UREDISClient_Base::handlerRead() @@ -622,120 +582,6 @@ int UREDISClient_Base::handlerRead() // by Victor Stewart # if defined(HAVE_CXX17) -void UREDISClusterClient::processResponse() -{ - U_TRACE_NO_PARAM(0, "UREDISClusterClient::processResponse()") - - if (UClient_Base::response.find("MOVED", 0, 5) != U_NOT_FOUND) - { - // MOVED 3999 127.0.0.1:6381 => the hashslot has been moved to another master node - - error = ClusterError::moved; - - calculateNodeMap(); - } - else if (UClient_Base::response.find("ASK", 0, 3) != U_NOT_FOUND) - { - // ASK 3999 127.0.0.1:6381 => this means that one of the hash slots is being migrated to another server - - error = ClusterError::ask; - - uint32_t _start = UClient_Base::response.find(' ', 8) + 1, - end = UClient_Base::response.find(':', _start); - - (void) temporaryASKip.assign(UClient_Base::response.substr(_start, end - _start)); - } - - else if (UClient_Base::response.find("TRYAGAIN", 0, 8) != U_NOT_FOUND) - { - /** - * during a resharding the multi-key operations targeting keys that all exist and are all still in the same node (either the source or destination node) are still available. - * Operations on keys that don't exist or are - during the resharding - split between the source and destination nodes, will generate a -TRYAGAIN error. The client can try - * the operation after some time, or report back the error. As soon as migration of the specified hash slot has terminated, all multi-key operations are available again for - * that hash slot - */ - - error = ClusterError::tryagain; - - UTimeVal(0L, 1000L).nanosleep(); // 0 sec, 1000 microsec = 1ms - } - else - { - error = ClusterError::none; - - UREDISClient::processResponse(); - } -} - -const UVector& UREDISClusterClient::processPipeline(UString& pipeline, bool silence) -{ - U_TRACE(0, "UREDISClusterClient::processPipeline(%V,%b)", pipeline.rep, silence) - - uint16_t hashslot = 0, workingHashslot; - UString command, workingString(U_CAPACITY); - UVector commands(pipeline, "\r\n"); - - for (uint32_t count = 0, index = 0, n = commands.size(); index < n; ++index) - { - command = commands[index]; - - workingHashslot = hashslotFromCommand(command); - - if (workingHashslot == hashslot) - { - (void) workingString.append(command + "\r\n"); - - ++count; - - if ((index + 1) < n) continue; - } - - hashslot = workingHashslot; - - if (silence) - { - if (count > 1) - { - (void) workingString.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY OFF \r\n")); - (void) workingString.append(U_CONSTANT_TO_PARAM("CLIENT REPLY ON \r\n")); - } - else - { - (void) pipeline.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY SKIP \r\n")); - } - } - - UREDISClient& client = clientForHashslot(hashslot); - -replay: - (void) client.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString)); - - switch (error) - { - case ClusterError::moved: - case ClusterError::tryagain: - { - goto replay; - } - break; - - case ClusterError::ask: - { - UREDISClient& temporaryClient = clientForASKip(); - - (void) temporaryClient.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString)); - } - break; - - case ClusterError::none: break; - } - - if (silence == false) vitem.move(client.vitem); - } - - return vitem; -} - void UREDISClusterClient::calculateNodeMap() { U_TRACE_NO_PARAM(0, "UREDISClusterClient::calculateNodeMap()") @@ -795,11 +641,14 @@ void UREDISClusterClient::calculateNodeMap() RedisNode workingNode; - workingNode.lowHashSlot = workingLowHashSlot; + workingNode.lowHashSlot = workingLowHashSlot; workingNode.highHashSlot = workingHighHashSlot; - (void) workingNode.ipAddress.assign(rawNodes[a]); - workingNode.client.connect(workingNode.ipAddress.c_str(), rawNodes[++a].strtoul()); + (void) workingNode.ipAddress.replace(rawNodes[a]); + + workingNode.port = rawNodes[++a].strtoul(); + + workingNode.client.connect(workingNode.ipAddress.data(), workingNode.port); redisNodes.push_back(std::move(workingNode)); @@ -807,6 +656,232 @@ void UREDISClusterClient::calculateNodeMap() } } } + +bool UREDISClusterClient::connect(const char* host, unsigned int _port) +{ + U_TRACE(0, "UREDISClusterClient::connect(%S,%u)", host, _port) + + if (UREDISClient::connect(host, _port)) + { + calculateNodeMap(); + + // select random master node to be responsible for SUB/PUB traffic + + const RedisNode& node = redisNodes[u_get_num_random_range0(redisNodes.size())]; + + subscriptionClient.connect(node.ipAddress.data(), node.port); + + subscriptionClient.UEventFd::op_mask |= EPOLLET; + subscriptionClient.UEventFd::op_mask &= ~EPOLLRDHUP; + + UNotifier::insert(&subscriptionClient, EPOLLEXCLUSIVE | EPOLLROUNDROBIN); // NB: we ask to listen for events to a Redis publish channel... + + U_RETURN(true); + } + + U_RETURN(false); +} + +bool UREDISClusterClient::clusterUnsubscribe(const UString& channel) // unregister the callback for messages published to the given channels +{ + U_TRACE(0, "UREDISClusterClient::clusterUnsubscribe(%V)", channel.rep) + + if (subscriptionClient.processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("UNSUBSCRIBE"), U_STRING_TO_PARAM(channel))) + { + if (pchannelCallbackMap == U_NULLPTR) + { + U_NEW(UHashMap, pchannelCallbackMap, UHashMap); + } + + (void) pchannelCallbackMap->erase(channel); + + U_RETURN(true); + } + + U_RETURN(false); +} + +bool UREDISClusterClient::clusterSubscribe(const UString& channel, vPFcscs callback) // register the callback for messages published to the given channels +{ + U_TRACE(0, "UREDISClusterClient::clusterSubscribe(%V,%p)", channel.rep, callback) + + if (subscriptionClient.processRequest(U_RC_MULTIBULK, U_CONSTANT_TO_PARAM("SUBSCRIBE"), U_STRING_TO_PARAM(channel))) + { + if (pchannelCallbackMap == U_NULLPTR) + { + U_NEW(UHashMap, pchannelCallbackMap, UHashMap); + } + + pchannelCallbackMap->insert(channel, (const void*)callback); + + U_RETURN(true); + } + + U_RETURN(false); +} + +void UREDISClusterClient::processResponse() +{ + U_TRACE_NO_PARAM(0, "UREDISClusterClient::processResponse()") + + if (UClient_Base::response.find("MOVED", 0, 5) != U_NOT_FOUND) + { + // MOVED 3999 127.0.0.1:6381 => the hashslot has been moved to another master node + + error = ClusterError::moved; + + calculateNodeMap(); + } + else if (UClient_Base::response.find("ASK", 0, 3) != U_NOT_FOUND) + { + // ASK 3999 127.0.0.1:6381 => this means that one of the hash slots is being migrated to another server + + error = ClusterError::ask; + + uint32_t _start = UClient_Base::response.find(' ', 8) + 1, + end = UClient_Base::response.find(':', _start); + + (void) temporaryASKip.replace(UClient_Base::response.substr(_start, end - _start)); + } + + else if (UClient_Base::response.find("TRYAGAIN", 0, 8) != U_NOT_FOUND) + { + /** + * during a resharding the multi-key operations targeting keys that all exist and are all still in the same node (either the source or destination node) are still available. + * Operations on keys that don't exist or are - during the resharding - split between the source and destination nodes, will generate a -TRYAGAIN error. The client can try + * the operation after some time, or report back the error. As soon as migration of the specified hash slot has terminated, all multi-key operations are available again for + * that hash slot + */ + + error = ClusterError::tryagain; + + UTimeVal(0L, 1000L).nanosleep(); // 0 sec, 1000 microsec = 1ms + } + else + { + error = ClusterError::none; + + UREDISClient::processResponse(); + } +} + +const UVector& UREDISClusterClient::processPipeline(UString& pipeline, const bool silence, const bool reorderable) +{ + U_TRACE(0, "UREDISClusterClient::processPipeline(%V,%b,%b)", pipeline.rep, silence, reorderable) + + UString workingString(U_CAPACITY); + UVector commands(pipeline, "\r\n"); + uint16_t hashslot, workingHashslot, count = 0; + + auto pushPipeline = [&] (void) -> void { + + if (silence) + { + if (count > 1) + { + (void) workingString.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY OFF \r\n")); + (void) workingString.append(U_CONSTANT_TO_PARAM("CLIENT REPLY ON \r\n")); + } + else + { + (void) pipeline.insert(0, U_CONSTANT_TO_PARAM("CLIENT REPLY SKIP \r\n")); + } + } + + UREDISClient& client = clientForHashslot(hashslot); + +replay: + (void) client.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString)); + + switch (error) + { + case ClusterError::moved: + case ClusterError::tryagain: + { + goto replay; + } + break; + + case ClusterError::ask: + { + UREDISClient& temporaryClient = clientForASKip(); + + (void) temporaryClient.processRequest(U_RC_MULTIBULK, U_STRING_TO_PARAM(workingString)); + } + break; + + case ClusterError::none: break; + } + + if (silence == false) vitem.move(client.vitem); + + count = 0; + workingString.clear(); + }; + + /* + */ + if (reorderable) { + + for (UVectorStringIter it = commands.begin(); it != commands.end(); ) { + + if (it == commands.begin()) hashslot = hashslotFromCommand(*it); + + while (it != commands.end()) { + + const UString& command = *it; + // if (command.find("CLIENT", 0, 6)) goto isADirective; + + if (hashslotFromCommand(command) == hashslot) + { + + ++count; + + // goto isADirective; + + (void) workingString.append(command + "\r\n"); + it = commands.erase(it); + } + else ++it; + } + + pushPipeline(); + + if (commands.size() != 0) it = commands.begin(); + } + } + else { + + for (uint32_t index = 0, n = commands.size(); index < n; index++) + { + + if (index == 0) hashslot = hashslotFromCommand(commands[0]); + + UString command = commands[index]; + command.trim(); + + // if (command.find("CLIENT", 0, 6)) goto isADirective; + + workingHashslot = hashslotFromCommand(command); + + if (workingHashslot == hashslot) { + + ++count; + + // goto isADirective; + + (void) workingString.append(command + "\r\n"); + if ((index +1) < n) continue; + } + + pushPipeline(); + hashslot = workingHashslot; + count = 0; + } + } + + return vitem; +} # endif // DEBUG diff --git a/src/ulib/utility/socket_ext.cpp b/src/ulib/utility/socket_ext.cpp index 974fba10..94b16e51 100644 --- a/src/ulib/utility/socket_ext.cpp +++ b/src/ulib/utility/socket_ext.cpp @@ -13,7 +13,6 @@ #include #include -#include #include #include @@ -74,7 +73,6 @@ bool USocketExt::read(USocket* sk, UString& buffer, uint32_t count, int timeoutM if (UNLIKELY(ncount < chunk)) { if (sk == UServer_Base::csocket) { UClientImage_Base::manageReadBufferResize(chunk); } // start = buffer.size(); } - else if (sk == UClient_Base::csocket) UClient_Base::resize_response_buffer(chunk); else UString::_reserve(buffer, buffer.getReserveNeed(chunk)); ncount = buffer.space(); @@ -200,7 +198,6 @@ error: U_INTERNAL_DUMP("errno = %d", errno) buffer.rep->_length = start + byte_read; if (sk == UServer_Base::csocket) { UClientImage_Base::manageReadBufferResize(ncount * 2); } // start = buffer.size(); } - else if (sk == UClient_Base::csocket) UClient_Base::resize_response_buffer(ncount * 2); else UString::_reserve(buffer, buffer.getReserveNeed(ncount * 2)); ptr = buffer.c_pointer(start); diff --git a/src/ulib/utility/uhttp.cpp b/src/ulib/utility/uhttp.cpp index 0160d5c2..8b736693 100644 --- a/src/ulib/utility/uhttp.cpp +++ b/src/ulib/utility/uhttp.cpp @@ -176,6 +176,7 @@ URDBObjectHandler* UHTTP::db_session_ssl; #endif #ifdef U_SSE_ENABLE // SERVER SENT EVENTS (SSE) int UHTTP::sse_pipe_fd; +bool UHTTP::sse_req; bool UHTTP::sse_auth; const char* UHTTP::sse_corsbase = "*"; UHTTP::strPF UHTTP::sse_func; @@ -7178,11 +7179,13 @@ bool UHTTP::isValidationSSE() if (sse_auth) { - // check if it's OK to do directory listing via authentication (digest|basic) + // check if it's OK via authentication (digest|basic) uint32_t sz; const char* ptr = UClientImage_Base::getRequestUri(sz); + sse_req = true; + if (processAuthorization(ptr, sz) == false) U_RETURN(false); } @@ -7854,12 +7857,14 @@ U_NO_EXPORT bool UHTTP::processAuthorization(const char* request, uint32_t sz, c pos = (request + sz) - uri_suffix; } # ifdef U_SSE_ENABLE // SERVER SENT EVENTS (SSE) - else + else if (sse_req) { + U_INTERNAL_ASSERT_EQUALS(memcmp(request, U_CONSTANT_TO_PARAM("/sse_event")), 0) + + sse_req = false; + if (sz > U_CONSTANT_SIZE("/sse_event/")) // Ex: "/sse_event/tutor" { - U_INTERNAL_ASSERT_EQUALS(memcmp(request, U_CONSTANT_TO_PARAM("/sse_event/")), 0) - ptr_file_data = getPasswdDB(request+U_CONSTANT_SIZE("/sse_event"), sz-U_CONSTANT_SIZE("/sse_event"), fpasswd); goto next; diff --git a/tests/examples/TSA/tsaserial b/tests/examples/TSA/tsaserial index f7db2e41..35669603 100644 --- a/tests/examples/TSA/tsaserial +++ b/tests/examples/TSA/tsaserial @@ -1 +1 @@ -04BB +04D1 diff --git a/tests/ulib/README b/tests/ulib/README index 90928cb1..e69de29b 100644 --- a/tests/ulib/README +++ b/tests/ulib/README @@ -1,28 +0,0 @@ -See http://www.debian.org/ for information about Debian GNU/Linux. -Four Debian releases are available on the main site: - -Debian 7.11, or wheezy. Access this release through dists/oldoldstable -Debian 7.11 was released Saturday, 4th June 2016. - -Debian 8.11, or jessie. Access this release through dists/oldstable -Debian 8.11 was released Saturday, 23rd June 2018. - -Debian 9.8, or stretch. Access this release through dists/stable -Debian 9.8 was released Saturday, 16th February 2019. - -Testing, or buster. Access this release through dists/testing. The -current tested development snapshot is named buster. Packages which -have been tested in unstable and passed automated tests propagate to -this release. - -Unstable, or sid. Access this release through dists/unstable. The -current development snapshot is named sid. Untested candidate -packages for future releases. - -Older releases of Debian are at http://archive.debian.org/debian-archive - ---- Other directories: -doc Debian documentation. -indices Various indices of the site. -project Experimental packages and other miscellaneous files. -tools Tools for creating boot disks and booting Linux. diff --git a/tests/ulib/plugin/.deps/.dirstamp b/tests/ulib/plugin/.deps/.dirstamp new file mode 100644 index 00000000..e69de29b diff --git a/tests/ulib/plugin/.deps/product1.Plo b/tests/ulib/plugin/.deps/product1.Plo new file mode 100644 index 00000000..c7ac8ff3 --- /dev/null +++ b/tests/ulib/plugin/.deps/product1.Plo @@ -0,0 +1,828 @@ +plugin/product1.lo: plugin/product1.cpp /usr/include/stdc-predef.h \ + plugin/product.h ../../include/ulib/dynamic/plugin.h \ + ../../include/ulib/dynamic/dynamic.h ../../include/ulib/string.h \ + ../../include/ulib/base/hash.h ../../include/ulib/base/xxhash/xxhash.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h \ + ../../include/ulib/base/base.h ../../include/ulib/internal/config.h \ + ../../include/ulib/internal/platform.h /usr/include/sys/mman.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/mman.h /usr/include/bits/mman-linux.h \ + /usr/include/bits/mman-shared.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/libio.h \ + /usr/include/bits/_G_config.h /usr/include/bits/types/__mbstate_t.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \ + /usr/include/bits/unistd.h /usr/include/sys/uio.h \ + /usr/include/sys/types.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/byteswap-16.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h /usr/include/bits/select2.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/types/struct_iovec.h /usr/include/bits/uio_lim.h \ + /usr/include/bits/uio-ext.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/bits/sched.h /usr/include/bits/cpu-set.h \ + /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/setjmp.h /usr/include/signal.h \ + /usr/include/bits/signum.h /usr/include/bits/signum-generic.h \ + /usr/include/bits/types/sig_atomic_t.h \ + /usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \ + /usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \ + /usr/include/bits/siginfo-consts-arch.h \ + /usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \ + /usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \ + /usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \ + /usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \ + /usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \ + /usr/include/bits/sigthread.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/bits/stdlib.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h \ + /usr/include/ctype.h ../../include/ulib/base/replace/replace.h \ + /usr/src/linux/include/generated/uapi/linux/version.h \ + /usr/include/openssl/opensslv.h /usr/include/string.h \ + /usr/include/strings.h /usr/include/bits/strings_fortified.h \ + /usr/include/bits/string_fortified.h /usr/include/fcntl.h \ + /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \ + /usr/include/linux/falloc.h /usr/include/bits/fcntl2.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/sys/time.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + ../../include/ulib/base/color.h ../../include/ulib/base/macro.h \ + /usr/include/zlib.h /usr/include/zconf.h \ + ../../include/ulib/internal/common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar \ + /usr/include/wchar.h /usr/include/bits/types/wint_t.h \ + /usr/include/bits/types/mbstate_t.h /usr/include/bits/wchar2.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype \ + /usr/include/wctype.h /usr/include/bits/wctype-wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc \ + ../../include/ulib/replace/strstream.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h \ + ../../include/ulib/debug/macro.h ../../include/ulib/debug/trace.h \ + ../../include/ulib/base/trace.h ../../include/ulib/base/utility.h \ + /usr/include/dirent.h /usr/include/bits/dirent.h /usr/include/fnmatch.h \ + ../../include/ulib/debug/error_simulation.h /usr/include/tdb.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h \ + ../../include/ulib/debug/common.h ../../include/ulib/internal/error.h \ + ../../include/ulib/debug/error_memory.h \ + ../../include/ulib/debug/objectDB.h \ + /usr/include/libxml2/libxml/xpathInternals.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/xpath.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/unicode/ucnv.h /usr/include/unicode/ucnv_err.h \ + /usr/include/unicode/utypes.h /usr/include/unicode/umachine.h \ + /usr/include/unicode/ptypes.h /usr/include/unicode/platform.h \ + /usr/include/unicode/uconfig.h /usr/include/unicode/uvernum.h \ + /usr/include/unicode/urename.h /usr/include/unicode/uversion.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h \ + /usr/include/unicode/utf.h /usr/include/unicode/utf8.h \ + /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h \ + /usr/include/unicode/uenum.h /usr/include/unicode/localpointer.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xlink.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h \ + ../../include/ulib/internal/macro.h \ + ../../include/ulib/internal/objectIO.h \ + ../../include/ulib/internal/memory_pool.h /usr/include/dlfcn.h \ + /usr/include/bits/dlfcn.h + +/usr/include/stdc-predef.h: + +plugin/product.h: + +../../include/ulib/dynamic/plugin.h: + +../../include/ulib/dynamic/dynamic.h: + +../../include/ulib/string.h: + +../../include/ulib/base/hash.h: + +../../include/ulib/base/xxhash/xxhash.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h: + +../../include/ulib/base/base.h: + +../../include/ulib/internal/config.h: + +../../include/ulib/internal/platform.h: + +/usr/include/sys/mman.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/mman.h: + +/usr/include/bits/mman-linux.h: + +/usr/include/bits/mman-shared.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/libio.h: + +/usr/include/bits/_G_config.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/bits/stdint-uintn.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/bits/unistd.h: + +/usr/include/sys/uio.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/byteswap-16.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/select2.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/bits/types/struct_iovec.h: + +/usr/include/bits/uio_lim.h: + +/usr/include/bits/uio-ext.h: + +/usr/include/sys/stat.h: + +/usr/include/bits/stat.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/cpu-set.h: + +/usr/include/time.h: + +/usr/include/bits/time.h: + +/usr/include/bits/timex.h: + +/usr/include/bits/types/struct_tm.h: + +/usr/include/bits/types/struct_itimerspec.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/bits/setjmp.h: + +/usr/include/signal.h: + +/usr/include/bits/signum.h: + +/usr/include/bits/signum-generic.h: + +/usr/include/bits/types/sig_atomic_t.h: + +/usr/include/bits/types/siginfo_t.h: + +/usr/include/bits/types/__sigval_t.h: + +/usr/include/bits/siginfo-arch.h: + +/usr/include/bits/siginfo-consts.h: + +/usr/include/bits/siginfo-consts-arch.h: + +/usr/include/bits/types/sigval_t.h: + +/usr/include/bits/types/sigevent_t.h: + +/usr/include/bits/sigevent-consts.h: + +/usr/include/bits/sigaction.h: + +/usr/include/bits/sigcontext.h: + +/usr/include/bits/types/stack_t.h: + +/usr/include/sys/ucontext.h: + +/usr/include/bits/sigstack.h: + +/usr/include/bits/ss_flags.h: + +/usr/include/bits/types/struct_sigstack.h: + +/usr/include/bits/sigthread.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/bits/stdlib.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h: + +/usr/include/ctype.h: + +../../include/ulib/base/replace/replace.h: + +/usr/src/linux/include/generated/uapi/linux/version.h: + +/usr/include/openssl/opensslv.h: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/bits/strings_fortified.h: + +/usr/include/bits/string_fortified.h: + +/usr/include/fcntl.h: + +/usr/include/bits/fcntl.h: + +/usr/include/bits/fcntl-linux.h: + +/usr/include/linux/falloc.h: + +/usr/include/bits/fcntl2.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/sys/time.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +../../include/ulib/base/color.h: + +../../include/ulib/base/macro.h: + +/usr/include/zlib.h: + +/usr/include/zconf.h: + +../../include/ulib/internal/common.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar: + +/usr/include/wchar.h: + +/usr/include/bits/types/wint_t.h: + +/usr/include/bits/types/mbstate_t.h: + +/usr/include/bits/wchar2.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype: + +/usr/include/wctype.h: + +/usr/include/bits/wctype-wchar.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc: + +../../include/ulib/replace/strstream.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h: + +../../include/ulib/debug/macro.h: + +../../include/ulib/debug/trace.h: + +../../include/ulib/base/trace.h: + +../../include/ulib/base/utility.h: + +/usr/include/dirent.h: + +/usr/include/bits/dirent.h: + +/usr/include/fnmatch.h: + +../../include/ulib/debug/error_simulation.h: + +/usr/include/tdb.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h: + +../../include/ulib/debug/common.h: + +../../include/ulib/internal/error.h: + +../../include/ulib/debug/error_memory.h: + +../../include/ulib/debug/objectDB.h: + +/usr/include/libxml2/libxml/xpathInternals.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/xpath.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/unicode/ucnv.h: + +/usr/include/unicode/ucnv_err.h: + +/usr/include/unicode/utypes.h: + +/usr/include/unicode/umachine.h: + +/usr/include/unicode/ptypes.h: + +/usr/include/unicode/platform.h: + +/usr/include/unicode/uconfig.h: + +/usr/include/unicode/uvernum.h: + +/usr/include/unicode/urename.h: + +/usr/include/unicode/uversion.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h: + +/usr/include/unicode/utf.h: + +/usr/include/unicode/utf8.h: + +/usr/include/unicode/utf16.h: + +/usr/include/unicode/utf_old.h: + +/usr/include/unicode/uenum.h: + +/usr/include/unicode/localpointer.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +../../include/ulib/internal/macro.h: + +../../include/ulib/internal/objectIO.h: + +../../include/ulib/internal/memory_pool.h: + +/usr/include/dlfcn.h: + +/usr/include/bits/dlfcn.h: diff --git a/tests/ulib/plugin/.deps/product2.Plo b/tests/ulib/plugin/.deps/product2.Plo new file mode 100644 index 00000000..52342caa --- /dev/null +++ b/tests/ulib/plugin/.deps/product2.Plo @@ -0,0 +1,828 @@ +plugin/product2.lo: plugin/product2.cpp /usr/include/stdc-predef.h \ + plugin/product.h ../../include/ulib/dynamic/plugin.h \ + ../../include/ulib/dynamic/dynamic.h ../../include/ulib/string.h \ + ../../include/ulib/base/hash.h ../../include/ulib/base/xxhash/xxhash.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h \ + ../../include/ulib/base/base.h ../../include/ulib/internal/config.h \ + ../../include/ulib/internal/platform.h /usr/include/sys/mman.h \ + /usr/include/features.h /usr/include/sys/cdefs.h \ + /usr/include/bits/wordsize.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/mman.h /usr/include/bits/mman-linux.h \ + /usr/include/bits/mman-shared.h /usr/include/stdio.h \ + /usr/include/bits/libc-header-start.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/libio.h \ + /usr/include/bits/_G_config.h /usr/include/bits/types/__mbstate_t.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h \ + /usr/include/bits/stdio.h /usr/include/bits/stdio2.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \ + /usr/include/unistd.h /usr/include/bits/posix_opt.h \ + /usr/include/bits/environments.h /usr/include/bits/confname.h \ + /usr/include/bits/getopt_posix.h /usr/include/bits/getopt_core.h \ + /usr/include/bits/unistd.h /usr/include/sys/uio.h \ + /usr/include/sys/types.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/byteswap.h \ + /usr/include/bits/byteswap-16.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h /usr/include/bits/select2.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/types/struct_iovec.h /usr/include/bits/uio_lim.h \ + /usr/include/bits/uio-ext.h /usr/include/sys/stat.h \ + /usr/include/bits/stat.h /usr/include/pthread.h /usr/include/sched.h \ + /usr/include/bits/sched.h /usr/include/bits/cpu-set.h \ + /usr/include/time.h /usr/include/bits/time.h /usr/include/bits/timex.h \ + /usr/include/bits/types/struct_tm.h \ + /usr/include/bits/types/struct_itimerspec.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/setjmp.h /usr/include/signal.h \ + /usr/include/bits/signum.h /usr/include/bits/signum-generic.h \ + /usr/include/bits/types/sig_atomic_t.h \ + /usr/include/bits/types/siginfo_t.h /usr/include/bits/types/__sigval_t.h \ + /usr/include/bits/siginfo-arch.h /usr/include/bits/siginfo-consts.h \ + /usr/include/bits/siginfo-consts-arch.h \ + /usr/include/bits/types/sigval_t.h /usr/include/bits/types/sigevent_t.h \ + /usr/include/bits/sigevent-consts.h /usr/include/bits/sigaction.h \ + /usr/include/bits/sigcontext.h /usr/include/bits/types/stack_t.h \ + /usr/include/sys/ucontext.h /usr/include/bits/sigstack.h \ + /usr/include/bits/ss_flags.h /usr/include/bits/types/struct_sigstack.h \ + /usr/include/bits/sigthread.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-bsearch.h /usr/include/bits/stdlib-float.h \ + /usr/include/bits/stdlib.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h \ + /usr/include/ctype.h ../../include/ulib/base/replace/replace.h \ + /usr/src/linux/include/generated/uapi/linux/version.h \ + /usr/include/openssl/opensslv.h /usr/include/string.h \ + /usr/include/strings.h /usr/include/bits/strings_fortified.h \ + /usr/include/bits/string_fortified.h /usr/include/fcntl.h \ + /usr/include/bits/fcntl.h /usr/include/bits/fcntl-linux.h \ + /usr/include/linux/falloc.h /usr/include/bits/fcntl2.h \ + /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/sys/time.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h \ + /usr/include/limits.h /usr/include/bits/posix1_lim.h \ + /usr/include/bits/local_lim.h /usr/include/linux/limits.h \ + /usr/include/bits/posix2_lim.h /usr/include/bits/xopen_lim.h \ + ../../include/ulib/base/color.h ../../include/ulib/base/macro.h \ + /usr/include/zlib.h /usr/include/zconf.h \ + ../../include/ulib/internal/common.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar \ + /usr/include/wchar.h /usr/include/bits/types/wint_t.h \ + /usr/include/bits/types/mbstate_t.h /usr/include/bits/wchar2.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale \ + /usr/include/locale.h /usr/include/bits/locale.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype \ + /usr/include/wctype.h /usr/include/bits/wctype-wchar.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc \ + ../../include/ulib/replace/strstream.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h \ + ../../include/ulib/debug/macro.h ../../include/ulib/debug/trace.h \ + ../../include/ulib/base/trace.h ../../include/ulib/base/utility.h \ + /usr/include/dirent.h /usr/include/bits/dirent.h /usr/include/fnmatch.h \ + ../../include/ulib/debug/error_simulation.h /usr/include/tdb.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h \ + ../../include/ulib/debug/common.h ../../include/ulib/internal/error.h \ + ../../include/ulib/debug/error_memory.h \ + ../../include/ulib/debug/objectDB.h \ + /usr/include/libxml2/libxml/xpathInternals.h \ + /usr/include/libxml2/libxml/xmlversion.h \ + /usr/include/libxml2/libxml/xmlexports.h \ + /usr/include/libxml2/libxml/xpath.h \ + /usr/include/libxml2/libxml/xmlerror.h \ + /usr/include/libxml2/libxml/parser.h /usr/include/libxml2/libxml/tree.h \ + /usr/include/libxml2/libxml/xmlstring.h \ + /usr/include/libxml2/libxml/xmlregexp.h \ + /usr/include/libxml2/libxml/dict.h /usr/include/libxml2/libxml/hash.h \ + /usr/include/libxml2/libxml/valid.h /usr/include/libxml2/libxml/list.h \ + /usr/include/libxml2/libxml/xmlautomata.h \ + /usr/include/libxml2/libxml/entities.h \ + /usr/include/libxml2/libxml/encoding.h /usr/include/iconv.h \ + /usr/include/unicode/ucnv.h /usr/include/unicode/ucnv_err.h \ + /usr/include/unicode/utypes.h /usr/include/unicode/umachine.h \ + /usr/include/unicode/ptypes.h /usr/include/unicode/platform.h \ + /usr/include/unicode/uconfig.h /usr/include/unicode/uvernum.h \ + /usr/include/unicode/urename.h /usr/include/unicode/uversion.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h \ + /usr/include/unicode/utf.h /usr/include/unicode/utf8.h \ + /usr/include/unicode/utf16.h /usr/include/unicode/utf_old.h \ + /usr/include/unicode/uenum.h /usr/include/unicode/localpointer.h \ + /usr/include/libxml2/libxml/xmlIO.h \ + /usr/include/libxml2/libxml/globals.h /usr/include/libxml2/libxml/SAX2.h \ + /usr/include/libxml2/libxml/xlink.h \ + /usr/include/libxml2/libxml/xmlmemory.h \ + /usr/include/libxml2/libxml/threads.h \ + ../../include/ulib/internal/macro.h \ + ../../include/ulib/internal/objectIO.h \ + ../../include/ulib/internal/memory_pool.h /usr/include/dlfcn.h \ + /usr/include/bits/dlfcn.h + +/usr/include/stdc-predef.h: + +plugin/product.h: + +../../include/ulib/dynamic/plugin.h: + +../../include/ulib/dynamic/dynamic.h: + +../../include/ulib/string.h: + +../../include/ulib/base/hash.h: + +../../include/ulib/base/xxhash/xxhash.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stddef.h: + +../../include/ulib/base/base.h: + +../../include/ulib/internal/config.h: + +../../include/ulib/internal/platform.h: + +/usr/include/sys/mman.h: + +/usr/include/features.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/wordsize.h: + +/usr/include/bits/long-double.h: + +/usr/include/gnu/stubs.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/types.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/mman.h: + +/usr/include/bits/mman-linux.h: + +/usr/include/bits/mman-shared.h: + +/usr/include/stdio.h: + +/usr/include/bits/libc-header-start.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/libio.h: + +/usr/include/bits/_G_config.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdarg.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/sys_errlist.h: + +/usr/include/bits/stdio.h: + +/usr/include/bits/stdio2.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdint.h: + +/usr/include/stdint.h: + +/usr/include/bits/wchar.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/bits/stdint-uintn.h: + +/usr/include/unistd.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/environments.h: + +/usr/include/bits/confname.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/bits/unistd.h: + +/usr/include/sys/uio.h: + +/usr/include/sys/types.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/bits/types/timer_t.h: + +/usr/include/endian.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/byteswap-16.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/sys/select.h: + +/usr/include/bits/select.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/bits/types/__sigset_t.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/select2.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/usr/include/bits/types/struct_iovec.h: + +/usr/include/bits/uio_lim.h: + +/usr/include/bits/uio-ext.h: + +/usr/include/sys/stat.h: + +/usr/include/bits/stat.h: + +/usr/include/pthread.h: + +/usr/include/sched.h: + +/usr/include/bits/sched.h: + +/usr/include/bits/cpu-set.h: + +/usr/include/time.h: + +/usr/include/bits/time.h: + +/usr/include/bits/timex.h: + +/usr/include/bits/types/struct_tm.h: + +/usr/include/bits/types/struct_itimerspec.h: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/__locale_t.h: + +/usr/include/bits/setjmp.h: + +/usr/include/signal.h: + +/usr/include/bits/signum.h: + +/usr/include/bits/signum-generic.h: + +/usr/include/bits/types/sig_atomic_t.h: + +/usr/include/bits/types/siginfo_t.h: + +/usr/include/bits/types/__sigval_t.h: + +/usr/include/bits/siginfo-arch.h: + +/usr/include/bits/siginfo-consts.h: + +/usr/include/bits/siginfo-consts-arch.h: + +/usr/include/bits/types/sigval_t.h: + +/usr/include/bits/types/sigevent_t.h: + +/usr/include/bits/sigevent-consts.h: + +/usr/include/bits/sigaction.h: + +/usr/include/bits/sigcontext.h: + +/usr/include/bits/types/stack_t.h: + +/usr/include/sys/ucontext.h: + +/usr/include/bits/sigstack.h: + +/usr/include/bits/ss_flags.h: + +/usr/include/bits/types/struct_sigstack.h: + +/usr/include/bits/sigthread.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdlib.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdlib: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++config.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/os_defines.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/cpu_defines.h: + +/usr/include/stdlib.h: + +/usr/include/bits/waitflags.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/bits/floatn.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdlib-bsearch.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/bits/stdlib.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/std_abs.h: + +/usr/include/ctype.h: + +../../include/ulib/base/replace/replace.h: + +/usr/src/linux/include/generated/uapi/linux/version.h: + +/usr/include/openssl/opensslv.h: + +/usr/include/string.h: + +/usr/include/strings.h: + +/usr/include/bits/strings_fortified.h: + +/usr/include/bits/string_fortified.h: + +/usr/include/fcntl.h: + +/usr/include/bits/fcntl.h: + +/usr/include/bits/fcntl-linux.h: + +/usr/include/linux/falloc.h: + +/usr/include/bits/fcntl2.h: + +/usr/include/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/linux/errno.h: + +/usr/include/asm/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/usr/include/sys/time.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/limits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include-fixed/syslimits.h: + +/usr/include/limits.h: + +/usr/include/bits/posix1_lim.h: + +/usr/include/bits/local_lim.h: + +/usr/include/linux/limits.h: + +/usr/include/bits/posix2_lim.h: + +/usr/include/bits/xopen_lim.h: + +../../include/ulib/base/color.h: + +../../include/ulib/base/macro.h: + +/usr/include/zlib.h: + +/usr/include/zconf.h: + +../../include/ulib/internal/common.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iostream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ostream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ios: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/iosfwd: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stringfwd.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/memoryfwd.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/postypes.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwchar: + +/usr/include/wchar.h: + +/usr/include/bits/types/wint_t.h: + +/usr/include/bits/types/mbstate_t.h: + +/usr/include/bits/wchar2.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/exception: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_ptr.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/exception_defines.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_init_exception.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/typeinfo: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/hash_bytes.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/new: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/nested_exception.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/move.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/concept_check.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/type_traits: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/char_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_algobase.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functexcept.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cpp_type_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/type_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/numeric_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_pair.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_types.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator_base_funcs.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/assertions.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_iterator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ptr_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/debug/debug.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/predefined_ops.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdint: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/localefwd.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++locale.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/clocale: + +/usr/include/locale.h: + +/usr/include/bits/locale.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cctype: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ios_base.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/atomicity.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/gthr-default.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/atomic_word.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/allocator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/c++allocator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/new_allocator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream_insert.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/cxxabi_forced.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/stl_function.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/binders.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/range_access.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/initializer_list: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/alloc_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/alloc_traits.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/string_view: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/limits: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/functional_hash.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/string_view.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/ext/string_conversions.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cstdio: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cerrno: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_string.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_classes.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/system_error: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/error_constants.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/stdexcept: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/streambuf: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/cwctype: + +/usr/include/wctype.h: + +/usr/include/bits/wctype-wchar.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_base.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/streambuf_iterator.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/x86_64-pc-linux-gnu/bits/ctype_inline.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/locale_facets.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/basic_ios.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/ostream.tcc: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/istream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/bits/istream.tcc: + +../../include/ulib/replace/strstream.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/strstream: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/g++-v8/backward/backward_warning.h: + +../../include/ulib/debug/macro.h: + +../../include/ulib/debug/trace.h: + +../../include/ulib/base/trace.h: + +../../include/ulib/base/utility.h: + +/usr/include/dirent.h: + +/usr/include/bits/dirent.h: + +/usr/include/fnmatch.h: + +../../include/ulib/debug/error_simulation.h: + +/usr/include/tdb.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/stdbool.h: + +../../include/ulib/debug/common.h: + +../../include/ulib/internal/error.h: + +../../include/ulib/debug/error_memory.h: + +../../include/ulib/debug/objectDB.h: + +/usr/include/libxml2/libxml/xpathInternals.h: + +/usr/include/libxml2/libxml/xmlversion.h: + +/usr/include/libxml2/libxml/xmlexports.h: + +/usr/include/libxml2/libxml/xpath.h: + +/usr/include/libxml2/libxml/xmlerror.h: + +/usr/include/libxml2/libxml/parser.h: + +/usr/include/libxml2/libxml/tree.h: + +/usr/include/libxml2/libxml/xmlstring.h: + +/usr/include/libxml2/libxml/xmlregexp.h: + +/usr/include/libxml2/libxml/dict.h: + +/usr/include/libxml2/libxml/hash.h: + +/usr/include/libxml2/libxml/valid.h: + +/usr/include/libxml2/libxml/list.h: + +/usr/include/libxml2/libxml/xmlautomata.h: + +/usr/include/libxml2/libxml/entities.h: + +/usr/include/libxml2/libxml/encoding.h: + +/usr/include/iconv.h: + +/usr/include/unicode/ucnv.h: + +/usr/include/unicode/ucnv_err.h: + +/usr/include/unicode/utypes.h: + +/usr/include/unicode/umachine.h: + +/usr/include/unicode/ptypes.h: + +/usr/include/unicode/platform.h: + +/usr/include/unicode/uconfig.h: + +/usr/include/unicode/uvernum.h: + +/usr/include/unicode/urename.h: + +/usr/include/unicode/uversion.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/include/float.h: + +/usr/include/unicode/utf.h: + +/usr/include/unicode/utf8.h: + +/usr/include/unicode/utf16.h: + +/usr/include/unicode/utf_old.h: + +/usr/include/unicode/uenum.h: + +/usr/include/unicode/localpointer.h: + +/usr/include/libxml2/libxml/xmlIO.h: + +/usr/include/libxml2/libxml/globals.h: + +/usr/include/libxml2/libxml/SAX2.h: + +/usr/include/libxml2/libxml/xlink.h: + +/usr/include/libxml2/libxml/xmlmemory.h: + +/usr/include/libxml2/libxml/threads.h: + +../../include/ulib/internal/macro.h: + +../../include/ulib/internal/objectIO.h: + +../../include/ulib/internal/memory_pool.h: + +/usr/include/dlfcn.h: + +/usr/include/bits/dlfcn.h: