ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

uri.c File Reference
#include "urlmon_main.h"
#include "wine/debug.h"
#include "shlwapi.h"
#include "strsafe.h"

Go to the source code of this file.

Data Structures

struct  Uri
struct  UriBuilder
struct  h16
struct  ipv6_address
struct  parse_data

Defines

#define NO_SHLWAPI_REG
#define UINT_MAX   0xffffffff
#define USHORT_MAX   0xffff
#define URI_DISPLAY_NO_ABSOLUTE_URI   0x1
#define URI_DISPLAY_NO_DEFAULT_PORT_AUTH   0x2
#define ALLOW_NULL_TERM_SCHEME   0x01
#define ALLOW_NULL_TERM_USER_NAME   0x02
#define ALLOW_NULL_TERM_PASSWORD   0x04
#define ALLOW_BRACKETLESS_IP_LITERAL   0x08
#define SKIP_IP_FUTURE_CHECK   0x10
#define IGNORE_PORT_DELIMITER   0x20
#define RAW_URI_FORCE_PORT_DISP   0x1
#define RAW_URI_CONVERT_TO_DOS_PATH   0x2
#define COMBINE_URI_FORCE_FLAG_USE   0x1

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (urlmon)
static Uriget_uri_obj (IUri *uri)
static BOOL is_alpha (WCHAR val)
static BOOL is_num (WCHAR val)
static BOOL is_drive_path (const WCHAR *str)
static BOOL is_unc_path (const WCHAR *str)
static BOOL is_forbidden_dos_path_char (WCHAR val)
static BOOL is_implicit_file_path (const WCHAR *str)
static BOOL check_hierarchical (const WCHAR **ptr)
static BOOL is_unreserved (WCHAR val)
static BOOL is_subdelim (WCHAR val)
static BOOL is_gendelim (WCHAR val)
static BOOL is_auth_delim (WCHAR val, BOOL acceptSlash)
static BOOL is_reserved (WCHAR val)
static BOOL is_hexdigit (WCHAR val)
static BOOL is_path_delim (WCHAR val)
static BOOL is_slash (WCHAR c)
static BOOL is_default_port (URL_SCHEME scheme, DWORD port)
static BOOL is_hierarchical_scheme (URL_SCHEME type)
static BOOL has_invalid_flag_combination (DWORD flags)
static void apply_default_flags (DWORD *flags)
static BOOL is_hierarchical_uri (const WCHAR **ptr, const parse_data *data)
static BOOL are_equal_simple (const Uri *a, const Uri *b)
static void compute_ipv6_comps_size (ipv6_address *address)
static int hex_to_int (WCHAR val)
static WCHAR decode_pct_val (const WCHAR *ptr)
static void pct_encode_val (WCHAR val, WCHAR *dest)
void find_domain_name (const WCHAR *host, DWORD host_len, INT *domain_start)
static DWORD remove_dot_segments (WCHAR *path, DWORD path_len)
static INT find_file_extension (const WCHAR *path, DWORD path_len)
static void compute_elision_location (const ipv6_address *address, const USHORT values[8], INT *index, DWORD *count)
static BSTR pre_process_uri (LPCWSTR uri)
static UINT ipv4toui (const WCHAR *ip, DWORD len)
static DWORD ui2ipv4 (WCHAR *dest, UINT address)
static DWORD ui2str (WCHAR *dest, UINT value)
static USHORT h16tous (h16 component)
static BOOL ipv6_to_number (const ipv6_address *address, USHORT number[8])
static BOOL check_pct_encoded (const WCHAR **ptr)
static BOOL check_dec_octet (const WCHAR **ptr)
static BOOL check_implicit_ipv4 (const WCHAR **ptr, UINT *val)
static BOOL check_ipv4address (const WCHAR **ptr, BOOL strict)
static BOOL parse_scheme_name (const WCHAR **ptr, parse_data *data, DWORD extras)
static BOOL parse_scheme_type (parse_data *data)
static BOOL parse_scheme (const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras)
static BOOL parse_username (const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras)
static BOOL parse_password (const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras)
static void parse_userinfo (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_port (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_ipv4address (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_reg_name (const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras)
static BOOL parse_ipv6address (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_ipvfuture (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_ip_literal (const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras)
static BOOL parse_host (const WCHAR **ptr, parse_data *data, DWORD flags, DWORD extras)
static BOOL parse_authority (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_path_hierarchical (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_path_opaque (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_hierpart (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_query (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_fragment (const WCHAR **ptr, parse_data *data, DWORD flags)
static BOOL parse_uri (parse_data *data, DWORD flags)
static BOOL canonicalize_username (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_password (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_userinfo (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_reg_name (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_implicit_ipv4address (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_ipv4address (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_ipv6address (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_host (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_port (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_authority (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_path_hierarchical (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_path_opaque (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_hierpart (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_query (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_fragment (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static BOOL canonicalize_scheme (const parse_data *data, Uri *uri, DWORD flags, BOOL computeOnly)
static int compute_canonicalized_length (const parse_data *data, DWORD flags)
static HRESULT canonicalize_uri (const parse_data *data, Uri *uri, DWORD flags)
static HRESULT get_builder_component (LPWSTR *component, DWORD *component_len, LPCWSTR source, DWORD source_len, LPCWSTR *output, DWORD *output_len)
static HRESULT set_builder_component (LPWSTR *component, DWORD *component_len, LPCWSTR new_value, WCHAR prefix, DWORD *flags, DWORD success_flag)
static void reset_builder (UriBuilder *builder)
static HRESULT validate_scheme_name (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_username (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_password (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_userinfo (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_host (const UriBuilder *builder, parse_data *data, DWORD flags)
static void setup_port (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_path (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_query (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_fragment (const UriBuilder *builder, parse_data *data, DWORD flags)
static HRESULT validate_components (const UriBuilder *builder, parse_data *data, DWORD flags)
static void convert_to_dos_path (const WCHAR *path, DWORD path_len, WCHAR *output, DWORD *output_len)
static DWORD generate_raw_uri (const parse_data *data, BSTR uri, DWORD flags)
static HRESULT generate_uri (const UriBuilder *builder, const parse_data *data, Uri *uri, DWORD flags)
static Uriimpl_from_IUri (IUri *iface)
static void destory_uri_obj (Uri *This)
static HRESULT WINAPI Uri_QueryInterface (IUri *iface, REFIID riid, void **ppv)
static ULONG WINAPI Uri_AddRef (IUri *iface)
static ULONG WINAPI Uri_Release (IUri *iface)
static HRESULT WINAPI Uri_GetPropertyBSTR (IUri *iface, Uri_PROPERTY uriProp, BSTR *pbstrProperty, DWORD dwFlags)
static HRESULT WINAPI Uri_GetPropertyLength (IUri *iface, Uri_PROPERTY uriProp, DWORD *pcchProperty, DWORD dwFlags)
static HRESULT WINAPI Uri_GetPropertyDWORD (IUri *iface, Uri_PROPERTY uriProp, DWORD *pcchProperty, DWORD dwFlags)
static HRESULT WINAPI Uri_HasProperty (IUri *iface, Uri_PROPERTY uriProp, BOOL *pfHasProperty)
static HRESULT WINAPI Uri_GetAbsoluteUri (IUri *iface, BSTR *pstrAbsoluteUri)
static HRESULT WINAPI Uri_GetAuthority (IUri *iface, BSTR *pstrAuthority)
static HRESULT WINAPI Uri_GetDisplayUri (IUri *iface, BSTR *pstrDisplayUri)
static HRESULT WINAPI Uri_GetDomain (IUri *iface, BSTR *pstrDomain)
static HRESULT WINAPI Uri_GetExtension (IUri *iface, BSTR *pstrExtension)
static HRESULT WINAPI Uri_GetFragment (IUri *iface, BSTR *pstrFragment)
static HRESULT WINAPI Uri_GetHost (IUri *iface, BSTR *pstrHost)
static HRESULT WINAPI Uri_GetPassword (IUri *iface, BSTR *pstrPassword)
static HRESULT WINAPI Uri_GetPath (IUri *iface, BSTR *pstrPath)
static HRESULT WINAPI Uri_GetPathAndQuery (IUri *iface, BSTR *pstrPathAndQuery)
static HRESULT WINAPI Uri_GetQuery (IUri *iface, BSTR *pstrQuery)
static HRESULT WINAPI Uri_GetRawUri (IUri *iface, BSTR *pstrRawUri)
static HRESULT WINAPI Uri_GetSchemeName (IUri *iface, BSTR *pstrSchemeName)
static HRESULT WINAPI Uri_GetUserInfo (IUri *iface, BSTR *pstrUserInfo)
static HRESULT WINAPI Uri_GetUserName (IUri *iface, BSTR *pstrUserName)
static HRESULT WINAPI Uri_GetHostType (IUri *iface, DWORD *pdwHostType)
static HRESULT WINAPI Uri_GetPort (IUri *iface, DWORD *pdwPort)
static HRESULT WINAPI Uri_GetScheme (IUri *iface, DWORD *pdwScheme)
static HRESULT WINAPI Uri_GetZone (IUri *iface, DWORD *pdwZone)
static HRESULT WINAPI Uri_GetProperties (IUri *iface, DWORD *pdwProperties)
static HRESULT WINAPI Uri_IsEqual (IUri *iface, IUri *pUri, BOOL *pfEqual)
static Uriimpl_from_IUriBuilderFactory (IUriBuilderFactory *iface)
static HRESULT WINAPI UriBuilderFactory_QueryInterface (IUriBuilderFactory *iface, REFIID riid, void **ppv)
static ULONG WINAPI UriBuilderFactory_AddRef (IUriBuilderFactory *iface)
static ULONG WINAPI UriBuilderFactory_Release (IUriBuilderFactory *iface)
static HRESULT WINAPI UriBuilderFactory_CreateIUriBuilder (IUriBuilderFactory *iface, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder)
static HRESULT WINAPI UriBuilderFactory_CreateInitializedIUriBuilder (IUriBuilderFactory *iface, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder)
static Uricreate_uri_obj (void)
HRESULT WINAPI CreateUri (LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
HRESULT WINAPI CreateUriWithFragment (LPCWSTR pwzURI, LPCWSTR pwzFragment, DWORD dwFlags, DWORD_PTR dwReserved, IUri **ppURI)
static HRESULT build_uri (const UriBuilder *builder, IUri **uri, DWORD create_flags, DWORD use_orig_flags, DWORD encoding_mask)
static UriBuilderimpl_from_IUriBuilder (IUriBuilder *iface)
static HRESULT WINAPI UriBuilder_QueryInterface (IUriBuilder *iface, REFIID riid, void **ppv)
static ULONG WINAPI UriBuilder_AddRef (IUriBuilder *iface)
static ULONG WINAPI UriBuilder_Release (IUriBuilder *iface)
static HRESULT WINAPI UriBuilder_CreateUriSimple (IUriBuilder *iface, DWORD dwAllowEncodingPropertyMask, DWORD_PTR dwReserved, IUri **ppIUri)
static HRESULT WINAPI UriBuilder_CreateUri (IUriBuilder *iface, DWORD dwCreateFlags, DWORD dwAllowEncodingPropertyMask, DWORD_PTR dwReserved, IUri **ppIUri)
static HRESULT WINAPI UriBuilder_CreateUriWithFlags (IUriBuilder *iface, DWORD dwCreateFlags, DWORD dwUriBuilderFlags, DWORD dwAllowEncodingPropertyMask, DWORD_PTR dwReserved, IUri **ppIUri)
static HRESULT WINAPI UriBuilder_GetIUri (IUriBuilder *iface, IUri **ppIUri)
static HRESULT WINAPI UriBuilder_SetIUri (IUriBuilder *iface, IUri *pIUri)
static HRESULT WINAPI UriBuilder_GetFragment (IUriBuilder *iface, DWORD *pcchFragment, LPCWSTR *ppwzFragment)
static HRESULT WINAPI UriBuilder_GetHost (IUriBuilder *iface, DWORD *pcchHost, LPCWSTR *ppwzHost)
static HRESULT WINAPI UriBuilder_GetPassword (IUriBuilder *iface, DWORD *pcchPassword, LPCWSTR *ppwzPassword)
static HRESULT WINAPI UriBuilder_GetPath (IUriBuilder *iface, DWORD *pcchPath, LPCWSTR *ppwzPath)
static HRESULT WINAPI UriBuilder_GetPort (IUriBuilder *iface, BOOL *pfHasPort, DWORD *pdwPort)
static HRESULT WINAPI UriBuilder_GetQuery (IUriBuilder *iface, DWORD *pcchQuery, LPCWSTR *ppwzQuery)
static HRESULT WINAPI UriBuilder_GetSchemeName (IUriBuilder *iface, DWORD *pcchSchemeName, LPCWSTR *ppwzSchemeName)
static HRESULT WINAPI UriBuilder_GetUserName (IUriBuilder *iface, DWORD *pcchUserName, LPCWSTR *ppwzUserName)
static HRESULT WINAPI UriBuilder_SetFragment (IUriBuilder *iface, LPCWSTR pwzNewValue)
static HRESULT WINAPI UriBuilder_SetHost (IUriBuilder *iface, LPCWSTR pwzNewValue)
static HRESULT WINAPI UriBuilder_SetPassword (IUriBuilder *iface, LPCWSTR pwzNewValue)
static HRESULT WINAPI UriBuilder_SetPath (IUriBuilder *iface, LPCWSTR pwzNewValue)
static HRESULT WINAPI UriBuilder_SetPort (IUriBuilder *iface, BOOL fHasPort, DWORD dwNewValue)
static HRESULT WINAPI UriBuilder_SetQuery (IUriBuilder *iface, LPCWSTR pwzNewValue)
static HRESULT WINAPI UriBuilder_SetSchemeName (IUriBuilder *iface, LPCWSTR pwzNewValue)
static HRESULT WINAPI UriBuilder_SetUserName (IUriBuilder *iface, LPCWSTR pwzNewValue)
static HRESULT WINAPI UriBuilder_RemoveProperties (IUriBuilder *iface, DWORD dwPropertyMask)
static HRESULT WINAPI UriBuilder_HasBeenModified (IUriBuilder *iface, BOOL *pfModified)
HRESULT WINAPI CreateIUriBuilder (IUri *pIUri, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder)
static HRESULT merge_paths (parse_data *data, const WCHAR *base, DWORD base_len, const WCHAR *relative, DWORD relative_len, WCHAR **result, DWORD *result_len, DWORD flags)
static HRESULT combine_uri (Uri *base, Uri *relative, DWORD flags, IUri **result, DWORD extras)
HRESULT WINAPI CoInternetCombineIUri (IUri *pBaseUri, IUri *pRelativeUri, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
HRESULT WINAPI CoInternetCombineUrlEx (IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved)
static HRESULT parse_canonicalize (const Uri *uri, DWORD flags, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_friendly (IUri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_rootdocument (const Uri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_document (const Uri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_path_from_url (const Uri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_url_from_path (IUri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_schema (IUri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_site (IUri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_domain (IUri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
static HRESULT parse_anchor (IUri *uri, LPWSTR output, DWORD output_len, DWORD *result_len)
HRESULT WINAPI CoInternetParseIUri (IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved)

Variables

static const IID IID_IUriObj = {0x4b364760,0x9f51,0x11df,{0x98,0x1c,0x08,0x00,0x20,0x0c,0x9a,0x66}}
static const CHAR hexDigits [] = "0123456789ABCDEF"
struct {
   URL_SCHEME   scheme
   WCHAR   scheme_name [16]
recognized_schemes []
struct {
   URL_SCHEME   scheme
   USHORT   port
default_ports []
struct {
   WCHAR   tld_name [4]
recognized_tlds []
static const IUriVtbl UriVtbl
static const IUriBuilderFactoryVtbl UriBuilderFactoryVtbl
static const IUriBuilderVtbl UriBuilderVtbl

Generated on Sun May 27 2012 05:20:00 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.