diff --git a/build/gen-side-deck.sh b/build/gen-side-deck.sh new file mode 100755 index 000000000..b27d8f750 --- /dev/null +++ b/build/gen-side-deck.sh @@ -0,0 +1,41 @@ +#!/bin/bash +trap 'exit 1' ERR + +ZSS=${ZSS:-$PWD/..} + +DEFS=$ZSS/build/side-deck-defs +FILES="`cat $DEFS/files`" + +cd $ZSS/build/tmp-zss + +dd if=zssServer.x conv=unblock cbs=80 of=side-deck + +rm -f relevant-functions +for f in $FILES +do + if [ -f $DEFS/$f-bl ] + then + echo "Found blacklist file for $f" + nm $f |grep ' T ' |awk '{ print $3 }' |grep -v -f $DEFS/$f-bl >>relevant-functions + elif [ -f $DEFS/$f-wl ] + then + echo "Found whilelist file for $f" + nm $f |grep ' T ' |awk '{ print $3 }' |grep -f $DEFS/$f-wl >>relevant-functions + else + echo "Adding all functions from $f to the side deck" + nm $f |grep ' T ' |awk '{ print $3 }' >>relevant-functions + fi +done +sort -u -o relevant-functions relevant-functions + +cat relevant-functions |while read fn; do grep ",'"$fn"'" side-deck; done >side-deck-filtered + +# dd doesn't support file tags, while cat does. +cat side-deck-filtered |dd conv=block cbs=80 bs=80 |sed 's/\(.\{79\}\)./\1\n/g' >zss.x + +mkdir -p $ZSS/lib +cp zss.x $ZSS/lib +echo Side deck $ZSS/lib/zss.x build successfully out of $FILES + + + diff --git a/build/side-deck-defs/client.o-wl b/build/side-deck-defs/client.o-wl new file mode 100644 index 000000000..58787c2a5 --- /dev/null +++ b/build/side-deck-defs/client.o-wl @@ -0,0 +1 @@ +zisCallService diff --git a/build/side-deck-defs/files b/build/side-deck-defs/files new file mode 100644 index 000000000..4fa605131 --- /dev/null +++ b/build/side-deck-defs/files @@ -0,0 +1,4 @@ +recovery.o http.o httpserver.o utils.o +dataservice.o json.o xml.o logging.o +client.o + diff --git a/build/side-deck-defs/httpserver.o-bl b/build/side-deck-defs/httpserver.o-bl new file mode 100644 index 000000000..afb5856a5 --- /dev/null +++ b/build/side-deck-defs/httpserver.o-bl @@ -0,0 +1,18 @@ +registerHttpServerModuleWithBase +httpServerSetSessionTokenKey +registerHttpService +dequeueHttpRequest +makeHttpRequestParser +makeHttpResponse +makeHttpServer2 +makeHttpServer +makeSecureHttpServer +makeHttpConversation +processHttpFragment +setHttpParseTrace +setHttpDispatchTrace +setHttpHeadersTrace +setHttpSocketTrace +setHttpCloseConversationTrace +setHttpAuthTrace +mainHttpLoop diff --git a/build/side-deck-defs/utils.o-wl b/build/side-deck-defs/utils.o-wl new file mode 100644 index 000000000..149ee2c06 --- /dev/null +++ b/build/side-deck-defs/utils.o-wl @@ -0,0 +1,25 @@ +addToStringList +addToStringList +addToStringListUnique +firstStringListElt +makeStringList +stringListContains +stringListContains +stringListLast +stringListLength +stringListPrint +SLHAlloc +SLHAlloc +SLHFree +makeShortLivedHeap +makeShortLivedHeap64 +destructivelyUnasciify +nullTerminate +dumpbuffer +cnvintst +makeBufferCharStream +charStreamPosition +charStreamGet +charStreamEOF +charStreamClose +charStreamFree diff --git a/build/zss.xml b/build/zss.xml index 1332b3b40..19a1583a0 100644 --- a/build/zss.xml +++ b/build/zss.xml @@ -51,7 +51,7 @@ - + diff --git a/h/zss-plugin.h b/h/zss-plugin.h new file mode 100644 index 000000000..d04d0ada4 --- /dev/null +++ b/h/zss-plugin.h @@ -0,0 +1,12 @@ +#ifndef __ZSS_PLUGIN_H__ +#define __ZSS_PLUGIN_H__ + +#include "zowetypes.h" +#include "httpserver.h" +#include "utils.h" +#include "dataservice.h" +#include "json.h" +#include "alloc.h" +#include "logging.h" + +#endif /* __ZSS_PLUGIN_H__ */ diff --git a/lib/zss.x b/lib/zss.x new file mode 100644 index 000000000..3efeb9396 --- /dev/null +++ b/lib/zss.x @@ -0,0 +1,255 @@ + IMPORT CODE,'zssServer','RCVDSECT' + IMPORT CODE,'zssServer','SLHAlloc' + IMPORT CODE,'zssServer','SLHFree' + IMPORT CODE,'zssServer','addAttribute' + IMPORT CODE,'zssServer','addChild' + IMPORT CODE,'zssServer','addHeader' + IMPORT CODE,'zssServer','addIntHeader' + IMPORT CODE,'zssServer','addStringHeader' + IMPORT CODE,'zssServer','addToStringList' + IMPORT CODE,'zssServer','addToStringListUnique' + IMPORT CODE,'zssServer','asciify' + IMPORT CODE,'zssServer','charStreamClose' + IMPORT CODE,'zssServer','charStreamEOF' + IMPORT CODE,'zssServer','charStreamFree' + IMPORT CODE,'zssServer','charStreamGet' + IMPORT CODE,'zssServer','charStreamPosition' + IMPORT CODE,'zssServer','closeHTMLTemplate' + IMPORT CODE,'zssServer','cnvintst' + IMPORT CODE,'zssServer','copyString' + IMPORT CODE,'zssServer','copyStringToNative' + IMPORT CODE,'zssServer','destructivelyNativize' + IMPORT CODE,'zssServer','destructivelyUnasciify' + IMPORT CODE,'zssServer','dumpbuffer' + IMPORT CODE,'zssServer','dumpbuffer2' + IMPORT CODE,'zssServer','dumpbufferA' + IMPORT CODE,'zssServer','extractBasicAuth' + IMPORT CODE,'zssServer','finishResponse' + IMPORT CODE,'zssServer','firstChildWithTag' + IMPORT CODE,'zssServer','firstRealChild' + IMPORT CODE,'zssServer','firstStringListElt' + IMPORT CODE,'zssServer','flushWSJsonPrinting' + IMPORT CODE,'zssServer','freeJsonPrinter' + IMPORT CODE,'zssServer','freeXmlParser' + IMPORT CODE,'zssServer','getAttribute' + IMPORT CODE,'zssServer','getBooleanAttribute' + IMPORT CODE,'zssServer','getCheckedParam' + IMPORT CODE,'zssServer','getConfiguredProperty' + IMPORT CODE,'zssServer','getHeader' + IMPORT CODE,'zssServer','getHeaderLine' + IMPORT CODE,'zssServer','getHttpVersion' + IMPORT CODE,'zssServer','getLoggingContext' + IMPORT CODE,'zssServer','getMimeType' + IMPORT CODE,'zssServer','getNextMessage' + IMPORT CODE,'zssServer','getQueryParam' + IMPORT CODE,'zssServer','getRecoveryContext' + IMPORT CODE,'zssServer','getStringToken' + IMPORT CODE,'zssServer','getSwitch' + IMPORT CODE,'zssServer','getTokenNoWS' + IMPORT CODE,'zssServer','getXMLToken' + IMPORT CODE,'zssServer','headerMatch' + IMPORT CODE,'zssServer','httpBackgroundHandler' + IMPORT CODE,'zssServer','httpWorkElementHandler' + IMPORT CODE,'zssServer','initBufferedInput' + IMPORT CODE,'zssServer','initChunkedOutput' + IMPORT CODE,'zssServer','initWSJsonPrinting' + IMPORT CODE,'zssServer','initalizeWebPlugin' + IMPORT CODE,'zssServer','intFromChildWithTag' + IMPORT CODE,'zssServer','isCachedCopyModified' + IMPORT CODE,'zssServer','jsonAddBoolean' + IMPORT CODE,'zssServer','jsonAddInt' + IMPORT CODE,'zssServer','jsonAddInt64' + IMPORT CODE,'zssServer','jsonAddJSONString' + IMPORT CODE,'zssServer','jsonAddLimitedString' + IMPORT CODE,'zssServer','jsonAddNull' + IMPORT CODE,'zssServer','jsonAddString' + IMPORT CODE,'zssServer','jsonAddUInt' + IMPORT CODE,'zssServer','jsonAddUnterminatedString' + IMPORT CODE,'zssServer','jsonArrayContainsString' + IMPORT CODE,'zssServer','jsonArrayGetArray' + IMPORT CODE,'zssServer','jsonArrayGetBoolean' + IMPORT CODE,'zssServer','jsonArrayGetCount' + IMPORT CODE,'zssServer','jsonArrayGetItem' + IMPORT CODE,'zssServer','jsonArrayGetNumber' + IMPORT CODE,'zssServer','jsonArrayGetObject' + IMPORT CODE,'zssServer','jsonArrayGetString' + IMPORT CODE,'zssServer','jsonArrayProperty' + IMPORT CODE,'zssServer','jsonAsArray' + IMPORT CODE,'zssServer','jsonAsBoolean' + IMPORT CODE,'zssServer','jsonAsNumber' + IMPORT CODE,'zssServer','jsonAsObject' + IMPORT CODE,'zssServer','jsonAsString' + IMPORT CODE,'zssServer','jsonCheckIOErrorFlag' + IMPORT CODE,'zssServer','jsonEnablePrettyPrint' + IMPORT CODE,'zssServer','jsonEnd' + IMPORT CODE,'zssServer','jsonEndArray' + IMPORT CODE,'zssServer','jsonEndObject' + IMPORT CODE,'zssServer','jsonIntProperty' + IMPORT CODE,'zssServer','jsonIsArray' + IMPORT CODE,'zssServer','jsonIsBoolean' + IMPORT CODE,'zssServer','jsonIsNull' + IMPORT CODE,'zssServer','jsonIsNumber' + IMPORT CODE,'zssServer','jsonIsObject' + IMPORT CODE,'zssServer','jsonIsString' + IMPORT CODE,'zssServer','jsonObjectGetArray' + IMPORT CODE,'zssServer','jsonObjectGetBoolean' + IMPORT CODE,'zssServer','jsonObjectGetFirstProperty' + IMPORT CODE,'zssServer','jsonObjectGetNextProperty' + IMPORT CODE,'zssServer','jsonObjectGetNumber' + IMPORT CODE,'zssServer','jsonObjectGetObject' + IMPORT CODE,'zssServer','jsonObjectGetPropertyValue' + IMPORT CODE,'zssServer','jsonObjectGetString' + IMPORT CODE,'zssServer','jsonObjectHasKey' + IMPORT CODE,'zssServer','jsonObjectProperty' + IMPORT CODE,'zssServer','jsonParseFile' + IMPORT CODE,'zssServer','jsonParseString' + IMPORT CODE,'zssServer','jsonParseUnterminatedString' + IMPORT CODE,'zssServer','jsonPrint' + IMPORT CODE,'zssServer','jsonPrintArray' + IMPORT CODE,'zssServer','jsonPrintObject' + IMPORT CODE,'zssServer','jsonPrintProperty' + IMPORT CODE,'zssServer','jsonPropertyGetKey' + IMPORT CODE,'zssServer','jsonPropertyGetValue' + IMPORT CODE,'zssServer','jsonSetIOErrorFlag' + IMPORT CODE,'zssServer','jsonStart' + IMPORT CODE,'zssServer','jsonStartArray' + IMPORT CODE,'zssServer','jsonStartObject' + IMPORT CODE,'zssServer','jsonStringProperty' + IMPORT CODE,'zssServer','jsonVerifyHomogeneity' + IMPORT CODE,'zssServer','logConfigureComponent' + IMPORT CODE,'zssServer','logConfigureDestination' + IMPORT CODE,'zssServer','logConfigureDestination2' + IMPORT CODE,'zssServer','logConfigureStandardDestinations' + IMPORT CODE,'zssServer','logGetLevel' + IMPORT CODE,'zssServer','logSetLevel' + IMPORT CODE,'zssServer','logShouldTraceInternal' + IMPORT CODE,'zssServer','makeBAOS' + IMPORT CODE,'zssServer','makeBufferCharStream' + IMPORT CODE,'zssServer','makeCustomJsonPrinter' + IMPORT CODE,'zssServer','makeCustomUtf8JsonPrinter' + IMPORT CODE,'zssServer','makeCustomXmlPrinter' + IMPORT CODE,'zssServer','makeFileService' + IMPORT CODE,'zssServer','makeGeneratedService' + IMPORT CODE,'zssServer','makeHTMLForDirectory' + IMPORT CODE,'zssServer','makeHttpDataService' + IMPORT CODE,'zssServer','makeHttpDataServiceUrlMask' + IMPORT CODE,'zssServer','makeHttpXmlPrinter' + IMPORT CODE,'zssServer','makeInt64ParamSpec' + IMPORT CODE,'zssServer','makeIntParamSpec' + IMPORT CODE,'zssServer','makeJSONForDirectory' + IMPORT CODE,'zssServer','makeJsonPrinter' + IMPORT CODE,'zssServer','makeLocalLoggingContext' + IMPORT CODE,'zssServer','makeLoggingContext' + IMPORT CODE,'zssServer','makeMessage' + IMPORT CODE,'zssServer','makeParamSpec' + IMPORT CODE,'zssServer','makeProxyService' + IMPORT CODE,'zssServer','makeShortLivedHeap' + IMPORT CODE,'zssServer','makeShortLivedHeap64' + IMPORT CODE,'zssServer','makeSimpleTemplateService' + IMPORT CODE,'zssServer','makeStringList' + IMPORT CODE,'zssServer','makeStringParamSpec' + IMPORT CODE,'zssServer','makeUtf8JsonPrinter' + IMPORT CODE,'zssServer','makeWSEndpoint' + IMPORT CODE,'zssServer','makeWSMessageHandler' + IMPORT CODE,'zssServer','makeWSSession' + IMPORT CODE,'zssServer','makeWebPlugin' + IMPORT CODE,'zssServer','makeWebSocketService' + IMPORT CODE,'zssServer','makeXMLNode' + IMPORT CODE,'zssServer','makeXmlParser' + IMPORT CODE,'zssServer','makeXmlPrinter' + IMPORT CODE,'zssServer','makeXmlStringParser' + IMPORT CODE,'zssServer','mapChildrenToList' + IMPORT CODE,'zssServer','nextRealSibling' + IMPORT CODE,'zssServer','nodeText' + IMPORT CODE,'zssServer','nullTerminate' + IMPORT CODE,'zssServer','openHTMLTemplate' + IMPORT CODE,'zssServer','parseURI' + IMPORT CODE,'zssServer','parseURLMask' + IMPORT CODE,'zssServer','parseXMLNode' + IMPORT CODE,'zssServer','pluginTypeFromString' + IMPORT CODE,'zssServer','pluginTypeString' + IMPORT CODE,'zssServer','pprintNode' + IMPORT CODE,'zssServer','pprintNode2' + IMPORT CODE,'zssServer','printStderr' + IMPORT CODE,'zssServer','printStdout' + IMPORT CODE,'zssServer','printXMLToken' + IMPORT CODE,'zssServer','processServiceRequestParams' + IMPORT CODE,'zssServer','pseudoRespond' + IMPORT CODE,'zssServer','readByte' + IMPORT CODE,'zssServer','readCommentTail' + IMPORT CODE,'zssServer','recoveryDisableCurrentState' + IMPORT CODE,'zssServer','recoveryEnableCurrentState' + IMPORT CODE,'zssServer','recoveryEstablishRouter' + IMPORT CODE,'zssServer','recoveryGetABENDCode' + IMPORT CODE,'zssServer','recoveryIsRouterEstablished' + IMPORT CODE,'zssServer','recoveryPop' + IMPORT CODE,'zssServer','recoveryPush' + IMPORT CODE,'zssServer','recoveryRemoveRouter' + IMPORT CODE,'zssServer','recoverySetDumpTitle' + IMPORT CODE,'zssServer','recoverySetFlagValue' + IMPORT CODE,'zssServer','recoveryUpdateRouterServiceInfo' + IMPORT CODE,'zssServer','recoveryUpdateStateServiceInfo' + IMPORT CODE,'zssServer','removeLocalLoggingContext' + IMPORT CODE,'zssServer','removeLoggingContext' + IMPORT CODE,'zssServer','reportJSONDataProblem' + IMPORT CODE,'zssServer','requestIntHeader' + IMPORT CODE,'zssServer','requestStringHeader' + IMPORT CODE,'zssServer','respondWithChunkedOutputStream' + IMPORT CODE,'zssServer','respondWithError' + IMPORT CODE,'zssServer','respondWithJsonError' + IMPORT CODE,'zssServer','respondWithJsonPrinter' + IMPORT CODE,'zssServer','respondWithUnixDirectory' + IMPORT CODE,'zssServer','respondWithUnixFileContents' + IMPORT CODE,'zssServer','respondWithUnixFileContents2' + IMPORT CODE,'zssServer','respondWithUnixFileContentsWithAutocvtMode' + IMPORT CODE,'zssServer','respondWithUnixFileNotFound' + IMPORT CODE,'zssServer','respondWithXmlPrinter' + IMPORT CODE,'zssServer','runServiceThread' + IMPORT CODE,'zssServer','safeRealloc' + IMPORT CODE,'zssServer','serveFile' + IMPORT CODE,'zssServer','serveSimpleTemplate' + IMPORT CODE,'zssServer','setConfiguredProperty' + IMPORT CODE,'zssServer','setContentType' + IMPORT CODE,'zssServer','setDefaultJSONRESTHeaders' + IMPORT CODE,'zssServer','setLoggingContext' + IMPORT CODE,'zssServer','setResponseStatus' + IMPORT CODE,'zssServer','setXMLParseTrace' + IMPORT CODE,'zssServer','setXMLTrace' + IMPORT CODE,'zssServer','shouldContinueGivenAllowedMethods' + IMPORT CODE,'zssServer','showStack' + IMPORT CODE,'zssServer','streamBinaryForFile' + IMPORT CODE,'zssServer','streamTextForFile' + IMPORT CODE,'zssServer','streamToSubstitution' + IMPORT CODE,'zssServer','stringListContains' + IMPORT CODE,'zssServer','stringListLast' + IMPORT CODE,'zssServer','stringListLength' + IMPORT CODE,'zssServer','stringListPrint' + IMPORT CODE,'zssServer','textFromChildWithTag' + IMPORT CODE,'zssServer','toASCIIUTF8' + IMPORT CODE,'zssServer','writeByte' + IMPORT CODE,'zssServer','writeBytes' + IMPORT CODE,'zssServer','writeFully' + IMPORT CODE,'zssServer','writeHeader' + IMPORT CODE,'zssServer','writeRequest' + IMPORT CODE,'zssServer','writeString' + IMPORT CODE,'zssServer','writeTransferChunkHeader' + IMPORT CODE,'zssServer','wsSessionMoreInput' + IMPORT CODE,'zssServer','xmlAddBooleanElement' + IMPORT CODE,'zssServer','xmlAddCData' + IMPORT CODE,'zssServer','xmlAddIntElement' + IMPORT CODE,'zssServer','xmlAddString' + IMPORT CODE,'zssServer','xmlAddTextElement' + IMPORT CODE,'zssServer','xmlClose' + IMPORT CODE,'zssServer','xmlEnd' + IMPORT CODE,'zssServer','xmlIndent' + IMPORT CODE,'zssServer','xmlPrint' + IMPORT CODE,'zssServer','xmlPrintBoolean' + IMPORT CODE,'zssServer','xmlPrintInt' + IMPORT CODE,'zssServer','xmlPrintPartial' + IMPORT CODE,'zssServer','xmlPrintln' + IMPORT CODE,'zssServer','xmlStart' + IMPORT CODE,'zssServer','xmlWriteDocument' + IMPORT CODE,'zssServer','xmlWriteDocumentToFile' + IMPORT CODE,'zssServer','zisCallService' + IMPORT CODE,'zssServer','zowedump' + IMPORT CODE,'zssServer','zowelog'