# This is the main version of the exports file.
# It is in the syntax of the GNU ld VERSION command with
# the following additions:
# 1. comment lines prefixed by #
# 2. conditional lines of the form
#    #if <name>
#    ...
#    #endif
#    where <name> is one of the values for $PCP_PLATFORM from pcp.conf
#
PCP_3.0 {
  global:
    pmAddProfile;
    pmAtomStr;
    pmAtomStr_r;
    pmConvScale;
    pmCtime;
    pmDebug;
    pmDelProfile;
    pmDerivedErrStr;
    pmDestroyContext;
    pmDupContext;
    pmErrStr;
    pmErrStr_r;
    pmEventFlagsStr;
    pmEventFlagsStr_r;
    pmExtractValue;
    pmFetch;
    pmFetchArchive;
    pmflush;
    pmFreeEventResult;
    pmFreeMetricSpec;
    pmFreeResult;
    pmGetArchiveEnd;
    pmGetArchiveLabel;
    pmGetChildren;
    pmGetChildrenStatus;
    pmGetConfig;
    pmGetContextHostName;
    pmGetInDom;
    pmGetInDomArchive;
    pmGetPMNSLocation;
    pmIDStr;
    pmIDStr_r;
    pmInDomStr;
    pmInDomStr_r;
    pmLoadASCIINameSpace;
    pmLoadDerivedConfig;
    pmLoadNameSpace;
    pmLocaltime;
    pmLookupDesc;
    pmLookupInDom;
    pmLookupInDomArchive;
    pmLookupInDomText;
    pmLookupName;
    pmLookupText;
    pmNameAll;
    pmNameID;
    pmNameInDom;
    pmNameInDomArchive;
    pmNewContext;
    pmNewContextZone;
    pmNewZone;
    pmNumberStr;
    pmNumberStr_r;
    pmParseInterval;
    pmParseMetricSpec;
    pmParseTimeWindow;
    pmprintf;
    pmPrintValue;
    pmProgname;
    pmReconnectContext;
    pmRegisterDerived;
    pmSetMode;
    pmSortInstances;
    pmStore;
    pmTraversePMNS;
    pmTraversePMNS_r;
    pmTrimNameSpace;
    pmTypeStr;
    pmTypeStr_r;
    pmUnitsStr;
    pmUnitsStr_r;
    pmUnloadNameSpace;
    pmUnpackEventRecords;
    pmUseContext;
    pmUseZone;
    pmWhichContext;
    pmWhichZone;

    __pmAbsolutePath;
    __pmAccAddAccount;
    __pmAccAddClient;
    __pmAccAddGroup;
    __pmAccAddHost;
    __pmAccAddOp;
    __pmAccAddUser;
    __pmAccDelClient;
    __pmAccDumpGroups;
    __pmAccDumpHosts;
    __pmAccDumpLists;
    __pmAccDumpUsers;
    __pmAccept;
    __pmAccFreeSavedLists;
    __pmAccRestoreHosts;
    __pmAccRestoreLists;
    __pmAccSaveHosts;
    __pmAccSaveLists;
    __pmAddHostPorts;
    __pmAddPMNSNode;
    __pmAFblock;
    __pmAFisempty;
    __pmAFregister;
    __pmAFunblock;
    __pmAFunregister;
    __pmAPIConfig;
    __pmAttrKeyStr_r;
    __pmAttrStr_r;
    __pmAuxConnectPMCD;
    __pmAuxConnectPMCDPort;
    __pmAuxConnectPMCDUnixSocket;
    __pmBind;
    __pmCheckEventRecords;
    __pmCloseSocket;
    __pmConfig;
    __pmConnect;
    __pmConnectGetPorts;
    __pmConnectLocal;
    __pmConnectLogger;
    __pmConnectPMCD;
    __pmConnectTo;
    __pmControlLog;
    __pmConvertTime;
    __pmCountPDUBuf;
    __pmCreateIPv6Socket;
    __pmCreateSocket;
    __pmCreateUnixSocket;
    __pmDataIPC;
    __pmDataIPCSize;
    __pmDecodeAuth;
    __pmDecodeChildReq;
    __pmDecodeCreds;
    __pmDecodeDesc;
    __pmDecodeDescReq;
    __pmDecodeError;
    __pmDecodeFetch;
    __pmDecodeIDList;
    __pmDecodeInstance;
    __pmDecodeInstanceReq;
    __pmDecodeLogControl;
    __pmDecodeLogRequest;
    __pmDecodeLogStatus;
    __pmDecodeNameList;
    __pmDecodeProfile;
    __pmDecodeResult;
    __pmDecodeText;
    __pmDecodeTextReq;
    __pmDecodeTraversePMNSReq;
    __pmDecodeXtendError;
    __pmDropHostPort;
    __pmDumpContext;
    __pmDumpErrTab;
    __pmDumpEventRecords;
    __pmDumpIDList;
    __pmDumpInResult;
    __pmDumpNameAndStatusList;
    __pmDumpNameList;
    __pmDumpNameSpace;
    __pmDumpProfile;
    __pmDumpResult;
    __pmDumpStatusList;
    __pmEncodeResult;
    __pmExportPMNS;
    __pmFaultInject;
    __pmFaultSummary;
    __pmFD;
    __pmFD_CLR;
    __pmFD_COPY;
    __pmFD_ISSET;
    __pmFD_SET;
    __pmFD_ZERO;
    __pmFindPDUBuf;
    __pmFindPMDA;
    __pmFindProfile;
    __pmFinishResult;
    __pmFixPMNSHashTab;
    __pmFreeAttrsSpec;
    __pmFreeHostAttrsSpec;
    __pmFreeHostSpec;
    __pmFreeInResult;
    __pmFreePMNS;
    __pmFreeProfile;
    __pmFreeResultValues;
    __pmGetAddrInfo;
    __pmGetAPIConfig;
    __pmGetArchiveEnd;
    __pmGetClientId;
    __pmGetInternalState;
    __pmGetNameInfo;
    __pmGetPDU;
    __pmGetPDUCeiling;
    __pmGetSockOpt;
    __pmGetUsername;
    __pmHandleToPtr;
    __pmHashAdd;
    __pmHashClear;
    __pmHashDel;
    __pmHashInit;
    __pmHashSearch;
    __pmHashWalk;
    __pmHashWalkCB;
    __pmHasPMNSFileChanged;
    __pmHostEntFree;
    __pmHostEntGetName;
    __pmHostEntGetSockAddr;
    __pmInitLocks;
    __pmInProfile;
    __pmIsLocalhost;
    __pmLastVersionIPC;
    __pmListen;
    __pmLocalPMDA;
    __pmLock;
    __pmLock_libpcp;
    __pmLogChangeVol;
    __pmLogChkLabel;
    __pmLogClose;
    __pmLogCreate;
    __pmLogFetch;
    __pmLogFetchInterp;
    __pmLogFindLocalPorts;
    __pmLogFindPort;
    __pmLoggerTimeout;
    __pmLogGetInDom;
    __pmLogLoadLabel;
    __pmLogLoadMeta;
    __pmLogLookupDesc;
    __pmLogLookupInDom;
    __pmLogName;
    __pmLogNameInDom;
    __pmLogName_r;
    __pmLogNewFile;
    __pmLogOpen;
    __pmLogPutDesc;
    __pmLogPutIndex;
    __pmLogPutInDom;
    __pmLogPutResult;
    __pmLogRead;
    __pmLogReads;
    __pmLogResetInterp;
    __pmLogSetTime;
    __pmLogWriteLabel;
    __pmLookupAttrKey;
    __pmLookupDSO;
    __pmLoopBackAddress;
    __pmMapErrno;
    __pmMemoryMap;
    __pmMemoryUnmap;
    __pmMktime;
    __pmMultiThreaded;
    __pmNativeConfig;
    __pmNativePath;
    __pmNewPMNS;
    __pmNoMem;
    __pmNotifyErr;
    __pmOpenLog;
    __pmOptFetchAdd;
    __pmOptFetchDel;
    __pmOptFetchDump;
    __pmOptFetchGetParams;
    __pmOptFetchPutParams;
    __pmOptFetchRedo;
    __pmOverrideLastFd;
    __pmParseCtime;
    __pmParseDebug;
    __pmParseHostAttrsSpec;
    __pmParseHostSpec;
    __pmParseTime;
    __pmPathSeparator;
    __pmPDUCntIn;
    __pmPDUCntOut;
    __pmPDUTypeStr;
    __pmPDUTypeStr_r;
    __pmPinPDUBuf;
    __pmPrepareFetch;
    __pmPrintDesc;
    __pmPrintIPC;
    __pmPrintStamp;
    __pmPrintTimeval;
    __pmProcessCreate;
    __pmProcessDataSize;
    __pmProcessExists;
    __pmProcessRunTimes;
    __pmProcessTerminate;
    __pmRead;
    __pmRecv;
    __pmRegisterAnon;
    __pmResetIPC;
    __pmRotateLog;
    __pmSecureClientHandshake;
    __pmSecureServerHandshake;
    __pmSecureServerSetup;
    __pmSecureServerShutdown;
    __pmSelectRead;
    __pmSelectWrite;
    __pmSend;
    __pmSendAuth;
    __pmSendChildReq;
    __pmSendCreds;
    __pmSendDesc;
    __pmSendDescReq;
    __pmSendError;
    __pmSendFetch;
    __pmSendIDList;
    __pmSendInstance;
    __pmSendInstanceReq;
    __pmSendLogControl;
    __pmSendLogRequest;
    __pmSendLogStatus;
    __pmSendNameList;
    __pmSendProfile;
    __pmSendResult;
    __pmSendText;
    __pmSendTextReq;
    __pmSendTraversePMNSReq;
    __pmSendXtendError;
    __pmServerAddInterface;
    __pmServerAddNewClients;
    __pmServerAddPorts;
    __pmServerAdvertisePresence;
    __pmServerClearFeature;
    __pmServerCloseRequestPorts;
    __pmServerDumpRequestPorts;
    __pmServerHasFeature;
    __pmServerOpenRequestPorts;
    __pmServerRequestPortString;
    __pmServerSetFeature;
    __pmServerSetLocalCreds;
    __pmServerSetLocalSocket;
    __pmServerSetServiceSpec;
    __pmServerUnadvertisePresence;
    __pmSetClientId;
    __pmSetClientIdArgv;
    __pmSetDataIPC;
    __pmSetInternalState;
    __pmSetPDUCeiling;
    __pmSetPDUCntBuf;
    __pmSetProcessIdentity;
    __pmSetProgname;
    __pmSetSignalHandler;
    __pmSetSocketIPC;
    __pmSetSockOpt;
    __pmSetVersionIPC;
    __pmShutdown;
    __pmSockAddrAlloc;
    __pmSockAddrCompare;
    __pmSockAddrDup;
    __pmSockAddrFree;
    __pmSockAddrGetFamily;
    __pmSockAddrGetPort;
    __pmSockAddrInit;
    __pmSockAddrIsInet;
    __pmSockAddrIsIPv6;
    __pmSockAddrIsLoopBack;
    __pmSockAddrIsUnix;
    __pmSockAddrMask;
    __pmSockAddrSetFamily;
    __pmSockAddrSetPath;
    __pmSockAddrSetPort;
    __pmSockAddrSetScope;
    __pmSockAddrSize;
    __pmSockAddrToString;
    __pmSocketIPC;
    __pmSpecLocalPMDA;
    __pmStringToSockAddr;
    __pmStuffValue;
    __pmSyslog;
    __pmtimevalAdd;
    __pmtimevalFromReal;
    __pmtimevalNow;
    __pmtimevalPause;
    __pmtimevalSleep;
    __pmtimevalSub;
    __pmTimevalSub;
    __pmtimevalToReal;
    __pmTimezone;
    __pmTimezone_r;
    __pmUnlock;
    __pmUnparseHostAttrsSpec;
    __pmUnparseHostSpec;
    __pmUnpinPDUBuf;
    __pmUsePMNS;
    __pmVersionIPC;
    __pmWrite;
    __pmXmitPDU;

  local: *;
};

PCP_3.1 {
  global:
    pmDiscoverServices;
} PCP_3.0;

PCP_3.2 {
  global:
    pmGetContextHostName_r;
    pmGetContextOptions;
    pmGetOptions;
    pmFreeOptions;
    pmUsageMessage;

    __pmStartOptions;
    __pmAddOptArchive;
    __pmAddOptArchiveList;
    __pmAddOptHost;
    __pmAddOptHostList;
    __pmEndOptions;
} PCP_3.1;

PCP_3.3 {
  global:
    pmgetopt_r;

    __pmLogLocalSocketDefault;
    __pmLogLocalSocketUser;
    __pmMakePath;
} PCP_3.2;

PCP_3.4 {
  global:
    __pmConnectCheckError;
    __pmConnectRestoreFlags;
    __pmGetFileStatusFlags;
    __pmSetFileStatusFlags;
    __pmGetFileDescriptorFlags;
    __pmSetFileDescriptorFlags;
    __pmSocketClosed;
    __pmLogPutResult2;
} PCP_3.3;

PCP_3.5 {
  global:
    __pmDumpStack;
    __pmServerCreatePIDFile;
} PCP_3.4;

PCP_3.6 {
  global:
    __pmDiscoverServicesWithOptions;
    __pmDumpNameNode;
    __pmFreeInterpData;
    __pmAddOptArchiveFolio;
} PCP_3.5;

PCP_3.7 {
  global:
    pmFreeHighResResult;
    pmFreeHighResEventResult;
    pmUnpackHighResEventRecords;

    __pmDumpHighResEventRecords;
    __pmDumpHighResResult;
    __pmPrintHighResStamp;
    __pmGetTimespec;
} PCP_3.6;

PCP_3.8 {
  global:
    __pmtimevalInc;
    __pmtimevalDec;
} PCP_3.7;

PCP_3.9 {
  global:
    __pmSendAttr;
    __pmDecodeAttr;
    __pmIgnoreSignalPIPE;
    pmParseUnitsStr;
} PCP_3.8;

PCP_3.10 {
  global:
    __pmPrintMetricNames;
} PCP_3.9;

PCP_3.11 {
  global:
    pmGetVersion;
    pmGetOptionalConfig;
    __pmFetchLocal;
} PCP_3.10;

PCP_3.12 {
  global:
    __pmAFsetup;
} PCP_3.11;

PCP_3.13 {
  global:
    __pmConnectTimeout;
    __pmRequestTimeout;
    __pmSetConnectTimeout;
    __pmSetRequestTimeout;
    __pmStringValue;
} PCP_3.12;

PCP_3.14 {
    pmCreateFetchGroup;
    pmGetFetchGroupContext;
    pmExtendFetchGroup_item;
    pmExtendFetchGroup_indom;
    pmExtendFetchGroup_event;
    pmExtendFetchGroup_timestamp;
    pmFetchGroup;
    pmDestroyFetchGroup;
    pmRegisterDerivedMetric;
} PCP_3.13;

PCP_3.15 {
    __pmSecureServerCertificateSetup;
    __pmServerGetFeaturesFromPDU;
} PCP_3.14;

PCP_3.16 {
  global:
    pmSemStr;
    pmSemStr_r;
    __pmAddOptContainer;
    __pmSetLocalContextFlag;
    __pmSetLocalContextTable;
} PCP_3.15;

PCP_3.17 {
    __pmGetLongOptions;
} PCP_3.16;

PCP_3.18 {
    __pmLock_extcall;
    __pmFeaturesIPC;
    __pmSetFeaturesIPC;
    __pmCurrentContext;
} PCP_3.17;

PCP_3.19 {
    __pmLogRead_ctx;
} PCP_3.18;

PCP_3.20 {
    __pmFopen;
    __pmFdopen;
    __pmFseek;
    __pmRewind;
    __pmFtell;
    __pmFgetc;
    __pmFread;
    __pmFwrite;
    __pmFflush;
    __pmFsync;
    __pmLseek;
    __pmFstat;
    __pmFileno;
    __pmFeof;
    __pmFerror;
    __pmClearerr;
    __pmSetvbuf;
    __pmFclose;
} PCP_3.19;

PCP_3.21 {
  global:
    pmsprintf;
    __pmServerStart;
    pmDebugOptions;
    pmSetDebug;
    pmClearDebug;
    __pmDumpDebug;
    __pmSetDebugBits;
    __pmProcessAddArg;
    __pmProcessUnpickArgs;
    __pmProcessExec;
    __pmProcessPipe;
    __pmProcessPipeClose;
} PCP_3.20;

PCP_3.22 {
  global:
    pmFreeLabelSets;
    pmGetAPIConfig;
    pmGetClusterLabels;
    pmGetContextLabels;
    pmGetDomainLabels;
    pmGetInDomLabels;
    pmGetInstancesLabels;
    pmGetItemLabels;
    pmGetProgname;
    pmGetUsername;
    pmID_build;
    pmID_cluster;
    pmID_domain;
    pmID_item;
    pmInDom_build;
    pmInDom_domain;
    pmInDom_serial;
    pmLookupLabels;
    pmMergeLabels;
    pmMergeLabelSets;
    pmNoMem;
    pmNotifyErr;
    pmOpenLog;
    pmPathSeparator;
    pmPrintDesc;
    pmPrintHighResStamp;
    pmPrintLabelSets;
    pmPrintStamp;
    pmSetProcessIdentity;
    pmSetProgname;
    pmSyslog;
    pmtimevalAdd;
    pmtimevalDec;
    pmtimevalFromReal;
    pmtimevalInc;
    pmtimevalNow;
    pmtimevalSub;
    pmtimevalToReal;
    pmSpecLocalPMDA;

    __pmAddOptArchivePath;
    __pmAddLabels;
    __pmDecodeLabel;
    __pmDecodeLabelReq;
    __pmDumpLabelSet;
    __pmDumpLabelSets;
    __pmFreeHighResResult;
    __pmGetContextLabels;
    __pmGetDomainLabels;
    __pmLogBaseName;
    __pmLogLookupLabel;
    __pmLogLookupText;
    __pmLogPutLabel;
    __pmLogPutText;
    __pmParseLabelSet;
    __pmRecvLabel;
    __pmSendLabel;
    __pmSendLabelReq;
    __pmLabelIdentString;
    __pmLabelTypeString;
} PCP_3.21;

PCP_3.23 {
  global:
#if mingw
    fsync;
    symlink;
    readlink;
    setlinebuf;
    index;
    rindex;
    strcasestr;
    strsep;
    lrand48;
    srand48;
    random;
    srandom;
#endif
    getdomainname;
    getmachineid;
} PCP_3.22;

PCP_3.24 {
  global:
    pmClearFetchGroup;
    __pmAccess;
    __pmStat;
} PCP_3.23;

PCP_3.25 {
  global:
    __pmServerGetRequestPort;
    __pmServerSetupRequestPorts;
} PCP_3.24;

PCP_3.26 {
  global:
    __pmDupLabelSets;
} PCP_3.25;

PCP_3.27 {
  global:
    __pmLogAddDesc;
    __pmLogAddInDom;
    __pmLogAddPMNSNode;
    __pmLogAddLabelSets;
    __pmLogAddText;
    __pmLogAddVolume;
    __pmLogCompressedSuffix;
    __pmLogBaseNameVol;
} PCP_3.26;

PCP_3.28 {
  global:
    pmGetHostName;
    __pmHashPreAlloc;
    __pmServerNotifyServiceManagerReady;
    __pmServerNotifyServiceManagerStopping;
} PCP_3.27;

PCP_3.29 {
  global:
    pmAddDerivedMetric;
    pmAddDerived;
    pmGetDerivedControl;
    pmSetDerivedControl;
} PCP_3.28;

PCP_3.30 {
  global:
    __pmFreeDerived;
    __pmGetLabelConfigHostName;
    __pmGetLabelConfigMachineID;
    __pmGetLabelConfigDomainName;
} PCP_3.29;

PCP_3.31 {
  global:
    pmfstring;
    pmstrncpy;
    pmstrncat;
} PCP_3.30;

PCP_3.32 {
  global:
    pmtimespecDec;
    pmtimespecNow;
    pmtimespecSub;

    pmHighResFetch;

    __pmHighResFetchLocal;
    __pmHighResFinishResult;
    __pmSendHighResFetch;
    __pmDecodeHighResFetch;
    __pmSendHighResResult;
    __pmDecodeHighResResult;
} PCP_3.31;

PCP_3.33 {
  global:
    __htonpmTimestamp;
    __ntohpmTimestamp;
    __pmFreeHighResResultValues;
    __pmFreeLogStatus;
    __pmLoadTimestamp;
    __pmLoadTimeval;
    __pmLogFindOpen;
    __pmLogFreeLabel;
    __pmLogLabelSize;
    __pmLogLoadInDom;
    __pmLogPutLabels;
    __pmLogVersion;
    __pmPrintResult;
    __pmPrintTimespec;
    __pmPrintTimestamp;
    __pmPutTimestamp;
    __pmPutTimeval;
    pmstrlen;
    __pmTimespecSub;
    __pmTimestampCmp;
    __pmTimestampDec;
    __pmTimestampInc;
    __pmTimestampSub;
    __pmZoneinfo;
} PCP_3.32;

PCP_3.34 {
  global:
    __pmAllocResult;
    __pmDumpPDUCnt;
    __pmUrlEncode;
    __pmUrlDecode;
} PCP_3.33;

PCP_3.35 {
  global:
    pmLookupDescs;
    __pmSendDescs;
    __pmDecodeDescs;
    __pmDecodeDescs2;
    __pmDecodeIDList2;
    __pmHashFree;
} PCP_3.34;
