gecko-dev/network/main/netutils.h

96 строки
2.8 KiB
C

/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* The contents of this file are subject to the Netscape Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
* implied. See the License for the specific language governing
* rights and limitations under the License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is Netscape
* Communications Corporation. Portions created by Netscape are
* Copyright (C) 1998 Netscape Communications Corporation. All
* Rights Reserved.
*
* Contributor(s):
*/
#ifndef NETUTILS_H
#define NETUTILS_H
/* Keep TRACEMSG consistant throughout libnet */
#include "mktrace.h"
/* Used throughout netlib. */
#ifndef MAXHOSTNAMELEN
#define MAXHOSTNAMELEN 64
#endif
#ifndef CONST
#define CONST const
#endif
PR_BEGIN_EXTERN_C
/*
* This function takes an error code and associated error data
* and creates a string containing a textual description of
* what the error is and why it happened.
*
* The returned string is allocated and thus should be freed
* once it has been used.
*
* This function is defined in mkmessag.c.
*/
extern char * NET_ExplainErrorDetails (int code, ...);
extern void NET_Progress(MWContext *context, char *msg);
/* returns true if the functions thinks the string contains
* HTML
*/
extern PRBool NET_ContainsHTML(char * string, int32 length);
extern void NET_ParseContentTypeHeader(MWContext *context, char *value,
URL_Struct *URL_s, PRBool is_http);
typedef struct WritePostDataData WritePostDataData;
extern void NET_free_write_post_data_object(struct WritePostDataData *obj);
/* this function is called repeatably to write
* the post data body onto the network.
*
* Returns negative on fatal error
* Returns zero when done
* Returns positive if not yet completed
*/
extern int
NET_WritePostData(MWContext *context,
URL_Struct *URL_s,
PRFileDesc *sock,
void **write_post_data_data,
PRBool add_crlf_to_line_endings);
extern int NET_UUEncode(unsigned char *src, unsigned char *dst, int srclen);
/*
* Various character macros
*/
#define NET_TO_UPPER(x) ((((unsigned int) (x)) > 0x7f) ? x : toupper(x))
#define NET_TO_LOWER(x) ((((unsigned int) (x)) > 0x7f) ? x : tolower(x))
#define NET_IS_ALPHA(x) ((((unsigned int) (x)) > 0x7f) ? 0 : isalpha(x))
#define NET_IS_DIGIT(x) ((((unsigned int) (x)) > 0x7f) ? 0 : isdigit(x))
#define NET_IS_SPACE(x) ((((unsigned int) (x)) > 0x7f) ? 0 : isspace(x))
PR_END_EXTERN_C
#endif /* NETUTILS_H */