DXR is a code search and navigation tool aimed at making sense of large projects. It supports full-text and regex searches as well as structural queries.

Implementation

Mercurial (1aeaa33a64f9)

VCS Links

Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef _UTILPARS_H_
#define _UTILPARS_H_ 1

#include "utilparst.h"
#include "plarena.h"

/* handle a module db request */
char **NSSUTIL_DoModuleDBFunction(unsigned long function, char *parameters, void *args);

/* parsing functions */
char *NSSUTIL_ArgFetchValue(const char *string, int *pcount);
const char *NSSUTIL_ArgStrip(const char *c);
char *NSSUTIL_ArgGetParamValue(const char *paramName, const char *parameters);
const char *NSSUTIL_ArgSkipParameter(const char *string);
char *NSSUTIL_ArgGetLabel(const char *inString, int *next);
long NSSUTIL_ArgDecodeNumber(const char *num);
PRBool NSSUTIL_ArgIsBlank(char c);
PRBool NSSUTIL_ArgHasFlag(const char *label, const char *flag,
                          const char *parameters);
long NSSUTIL_ArgReadLong(const char *label, const char *params, long defValue,
                         PRBool *isdefault);

/* quoting functions */
int NSSUTIL_EscapeSize(const char *string, char quote);
char *NSSUTIL_Escape(const char *string, char quote);
int NSSUTIL_QuoteSize(const char *string, char quote);
char *NSSUTIL_Quote(const char *string, char quote);
int NSSUTIL_DoubleEscapeSize(const char *string, char quote1, char quote2);
char *NSSUTIL_DoubleEscape(const char *string, char quote1, char quote2);

unsigned long NSSUTIL_ArgParseSlotFlags(const char *label, const char *params);
struct NSSUTILPreSlotInfoStr *NSSUTIL_ArgParseSlotInfo(PLArenaPool *arena,
                                                       const char *slotParams, int *retCount);
char *NSSUTIL_MkSlotString(unsigned long slotID, unsigned long defaultFlags,
                           unsigned long timeout, unsigned char askpw_in,
                           PRBool hasRootCerts, PRBool hasRootTrust);
SECStatus NSSUTIL_ArgParseModuleSpec(const char *modulespec, char **lib,
                                     char **mod, char **parameters, char **nss);
SECStatus NSSUTIL_ArgParseModuleSpecEx(const char *modulespec, char **lib,
                                       char **mod, char **parameters, char **nss, char **config);
char *NSSUTIL_MkModuleSpec(char *dllName, char *commonName,
                           char *parameters, char *NSS);
char *NSSUTIL_MkModuleSpecEx(char *dllName, char *commonName,
                             char *parameters, char *NSS, char *config);
void NSSUTIL_ArgParseCipherFlags(unsigned long *newCiphers,
                                 const char *cipherList);
char *NSSUTIL_MkNSSString(char **slotStrings, int slotCount, PRBool internal,
                          PRBool isFIPS, PRBool isModuleDB, PRBool isModuleDBOnly,
                          PRBool isCritical, unsigned long trustOrder,
                          unsigned long cipherOrder, unsigned long ssl0, unsigned long ssl1);

/*
 * private functions for softoken.
 */
char *_NSSUTIL_GetSecmodName(const char *param, NSSDBType *dbType,
                             char **appName, char **filename, PRBool *rw);
const char *_NSSUTIL_EvaluateConfigDir(const char *configdir, NSSDBType *dbType, char **app);
#if defined(_WIN32)
wchar_t *_NSSUTIL_UTF8ToWide(const char *buf);
PRStatus _NSSUTIL_Access(const char *path, PRAccessHow how);
#else
#define _NSSUTIL_Access(path, how) PR_Access((path), (how))
#endif

#endif /* _UTILPARS_H_ */