/* Copyright 2009, UCAR/Unidata and OPeNDAP, Inc. See the COPYRIGHT file for more information. */ #ifndef NC_URI_H #define NC_URI_H /*! This is an open structure meaning it is ok to directly access its fields*/ typedef struct NC_URI { char* uri; /* as passed by the caller */ char* protocol; char* user; /* from user:password@ */ char* password; /* from user:password@ */ char* host; /*!< host*/ char* port; /*!< host */ char* file; /*!< file */ char* constraint; /*!< projection+selection */ char* projection; /*!< without leading '?'*/ char* selection; /*!< with leading '&'*/ char* params; /* all params */ char** paramlist; /*! entry not found; 1=>found; result holds value (may be null). In any case, the result is imutable and should not be free'd. */ extern int nc_urilookup(NC_URI*, const char* param, const char** result); #endif /*NC_URI_H*/