summaryrefslogtreecommitdiffstats
path: root/stream/freesdp/common.h
diff options
context:
space:
mode:
Diffstat (limited to 'stream/freesdp/common.h')
-rw-r--r--stream/freesdp/common.h352
1 files changed, 0 insertions, 352 deletions
diff --git a/stream/freesdp/common.h b/stream/freesdp/common.h
deleted file mode 100644
index bd051a57a7..0000000000
--- a/stream/freesdp/common.h
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- This file is part of FreeSDP.
- Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp@altern.org>
-
- FreeSDP is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-*/
-
-/**
- * @file common.h
- * @ingroup common
- * @short Public header common for both parsing and formatting modules.
- **/
-
-#ifndef FSDP_COMMON_H
-#define FSDP_COMMON_H
-
-/* Macros to avoid name mangling when compiling with a C++ compiler */
-#ifdef __cplusplus
-# define BEGIN_C_DECLS extern "C" {
-# define END_C_DECLS }
-#else /* !__cplusplus */
-# define BEGIN_C_DECLS
-# define END_C_DECLS
-#endif /* __cplusplus */
-
-#include <sys/time.h>
-#include <time.h>
-
-BEGIN_C_DECLS
-/**
- * @defgroup common FreeSDP Common Facilities
- *
- * Data types and routines common for both parsing and formatting
- * modules.
- **/
-/** @addtogroup common */
-/*@{*/
-/**
- * @enum fsdp_error_t freesdp/common.h
- * @short Error codes in the FreeSDP library.
- *
- * There is a FSDPE_MISSING_XXXX for each mandatory line, as
- * FSDPE_MISSING_OWNER. This kind of error is reported when a
- * mandatory description line, such as the owner line, is not found
- * where it should be in the SDP description. There are also several
- * error codes like FSDPE_INVALID_XXXX. These are returned when there
- * is a recognized line in the parsed description that violates the
- * SDP syntax or gives wrong parameters, for instance "c=foo bar",
- * which would cause a FSDPE_INVALID_CONNECTION error code to be
- * returned.
- **/
-typedef enum
-{
- FSDPE_OK = 0,
- FSDPE_ILLEGAL_CHARACTER, /**< Misplaced '\r', '\n' or '\0' */
- FSDPE_MISSING_VERSION, /**< The first line is not like
- v=... */
- FSDPE_INVALID_VERSION, /**< Parse error in version line,
- perhaps, the version specified in
- v=... is not valid for FreeSDP */
- FSDPE_MISSING_OWNER, /**< No owner line found in its
- place */
- FSDPE_INVALID_OWNER, /**< Parse error in owner line */
- FSDPE_MISSING_NAME, /**< No session name found in its
- place */
- FSDPE_EMPTY_NAME, /**< Empty session name line */
-
- FSDPE_INVALID_CONNECTION, /**< Syntax error in connection
- line */
-
- FSDPE_INVALID_CONNECTION_ADDRTYPE, /**< Unrecognized address type in
- connection line */
- FSDPE_INVALID_CONNECTION_NETTYPE, /**< Unrecognized network type in
- connection line */
- FSDPE_INVALID_BANDWIDTH, /**< Parse error in bandwidth
- line */
- FSDPE_MISSING_TIME, /**< No time period has been given
- for the session */
- FSDPE_INVALID_TIME, /**< Parse error in time line */
- FSDPE_INVALID_REPEAT, /**< Parse error in repeat time
- line */
- FSDPE_INVALID_TIMEZONE, /**< Parse error in timezone line */
- FSDPE_INVALID_ENCRYPTION_METHOD, /**< Unknown encryption method */
- FSDPE_INVALID_ATTRIBUTE, /**< Syntax error in an attribute
- line */
-
- FSDPE_INVALID_ATTRIBUTE_RTPMAP,/**< Parse error in a=rtpmap:... line */
- FSDPE_INVALID_SESSION_TYPE, /**< An unknown session type has been
- specified in a `type:'
- session-level attribute */
-
- FSDPE_INVALID_MEDIA, /**< Parse error in media line */
- FSDPE_UNKNOWN_MEDIA_TYPE, /**< Unknown media type in media
- line */
-
- FSDPE_UNKNOWN_MEDIA_TRANSPORT, /**< A media transport has been
- specified that is unknown */
-
- FSDPE_OVERFILLED, /**< extra unknown lines are at the
- end of the description */
- FSDPE_INVALID_LINE, /**< a line unknown to FreeSDP has been
- found */
- FSDPE_MISSING_CONNECTION_INFO, /**< No connection information has
- been provided for the whole
- session nor one or more media */
- FSDPE_INVALID_INDEX,
- /* FSDPE_MAXSIZE, description does not fit requested maximun size */
- FSDPE_INTERNAL_ERROR,
-
- FSDPE_INVALID_PARAMETER, /**< Some parameter of the called
- FreeSDP routine has been given an
- invalid value. This includes
- cases such as NULL pointers. */
- FSDPE_BUFFER_OVERFLOW
-} fsdp_error_t;
-
-/**
- * @short Type of network
- *
- * Initially, SDP defines "Internet". New network types may be
- * registered with IANA. However, the number of types is expected to
- * be small and rarely extended. In addition, every new network type
- * requires at least one new address type.
- **/
-typedef enum
-{
- FSDP_NETWORK_TYPE_UNDEFINED, /**< Not provided */
- FSDP_NETWORK_TYPE_INET /**< Internet */
-} fsdp_network_type_t;
-
-/**
- * @short Type of address
- *
- * Initially, IPv4 and IPv6 are defined for the network type
- * Internet. New address types may be registered with IANA.
- **/
-typedef enum
-{
- FSDP_ADDRESS_TYPE_UNDEFINED, /**< Not provided */
- FSDP_ADDRESS_TYPE_IPV4, /**< IP version 4 */
- FSDP_ADDRESS_TYPE_IPV6 /**< IP version 6 */
-} fsdp_address_type_t;
-
-/**
- * @short Type of bandwith modifiers
- *
- * Bandwidth modifiers specify the meaning of the bandwidth
- * value. Initially "Conference Total" and "Application Specific" are
- * defined. Both use kilobits as bandwidth unit. "Conference Total"
- * specifies that the bandwidth value is a proposed upper limit to the
- * session bandwidth. "Application Specific" specifies thath the
- * bandwidth value is the application concept of maximum bandwidth.
- **/
-typedef enum
-{
- FSDP_BW_MOD_TYPE_UNDEFINED, /**< Not provided */
- FSDP_BW_MOD_TYPE_UNKNOWN, /**< Unknown bandwidth
- modifier (FreeSDP
- ignores it) */
- FSDP_BW_MOD_TYPE_CONFERENCE_TOTAL, /**< "CT - Conference Total" */
- FSDP_BW_MOD_TYPE_APPLICATION_SPECIFIC, /**< "AS - Application specific" */
- FSDP_BW_MOD_TYPE_RTCP_SENDERS, /**< "RS - RTCP bandwidth for
- senders */
- FSDP_BW_MOD_TYPE_RTCP_RECEIVERS, /**< "RR - RTCP bandwidth for
- receivers */
-} fsdp_bw_modifier_type_t;
-
-/**
- * @short encryption method
- *
- * The encryption method specifies the way to get the encryption key.
- **/
-typedef enum
-{
- FSDP_ENCRYPTION_METHOD_UNDEFINED, /**< Not provided */
- FSDP_ENCRYPTION_METHOD_CLEAR, /**< The key field is the
- untransformed key */
- FSDP_ENCRYPTION_METHOD_BASE64, /**< The key is base64
- encoded */
- FSDP_ENCRYPTION_METHOD_URI, /**< The key value provided is
- a URI pointing to the actual
- key */
- FSDP_ENCRYPTION_METHOD_PROMPT /**< The key is not provided
- but should be got prompting
- the user */
-} fsdp_encryption_method_t;
-
-/**
- * @short Advised reception/transmission mode
- *
- * Depending on wheter sendrecv, recvonly, sendonly or inactive
- * attribute is given, the tools used to participate in the session
- * should be started in the corresponding transmission
- * mode. FSDP_SENDRECV_SENDRECV is the default for sessions which are
- * not of the conference type broadcast or H332.
- **/
-typedef enum
-{
- FSDP_SENDRECV_UNDEFINED, /**< Not specified */
- FSDP_SENDRECV_SENDRECV, /**< Send and receive */
- FSDP_SENDRECV_RECVONLY, /**< Receive only */
- FSDP_SENDRECV_SENDONLY, /**< Send only */
- FSDP_SENDRECV_INACTIVE /**< Do not send nor receive */
-} fsdp_sendrecv_mode_t;
-
-/**
- * @short Values for `orient' media attribute.
- *
- * Normally used with whiteboard media, this attribute specifies the
- * orientation of the whiteboard.
- **/
-typedef enum
-{
- FSDP_ORIENT_UNDEFINED, /**< Not specified */
- FSDP_ORIENT_PORTRAIT, /**< Portrait */
- FSDP_ORIENT_LANDSCAPE, /**< Landscape */
- FSDP_ORIENT_SEASCAPE /**< Upside down landscape */
-} fsdp_orient_t;
-
-/**
- * @short Type of the conference
- *
- * The following types are initially defined: broadcast, meeting,
- * moderated, test and H332.
- **/
-typedef enum
-{
- FSDP_SESSION_TYPE_UNDEFINED, /**< Not specified */
- FSDP_SESSION_TYPE_BROADCAST, /**< Broadcast session */
- FSDP_SESSION_TYPE_MEETING, /**< Meeting session */
- FSDP_SESSION_TYPE_MODERATED, /**< Moderated session */
- FSDP_SESSION_TYPE_TEST, /**< Test (do not display) */
- FSDP_SESSION_TYPE_H332 /**< H332 session */
-} fsdp_session_type_t;
-
-/**
- * @short Media type
- *
- * The following types are defined initially: audio, video,
- * application, data and control.
- **/
-typedef enum
-{
- FSDP_MEDIA_UNDEFINED, /**< Not specified */
- FSDP_MEDIA_VIDEO, /**< Video */
- FSDP_MEDIA_AUDIO, /**< Audio */
- FSDP_MEDIA_APPLICATION, /**< Application, such as whiteboard */
- FSDP_MEDIA_DATA, /**< bulk data */
- FSDP_MEDIA_CONTROL /**< Control channel */
-} fsdp_media_t;
-
-/**
- * @short Transport protocol
- *
- * The transport protocol used depends on the address type. Initially,
- * RTP over UDP Audio/Video Profile, and UDP are defined.
- *
- **/
-typedef enum
-{
- FSDP_TP_UNDEFINED, /**< Not specified */
- FSDP_TP_RTP_AVP, /**< RTP Audio/Video Profile */
- FSDP_TP_UDP, /**< UDP */
- FSDP_TP_TCP, /**< TCP */
- FSDP_TP_UDPTL, /**< ITU-T T.38*/
- FSDP_TP_VAT, /**< old vat protocol (historic)*/
- FSDP_TP_OLD_RTP, /**< old rtp protocols (historic)*/
- FSDP_TP_H320 /**< TODO: add to the parser */
-} fsdp_transport_protocol_t;
-
-/**
- * Session-level attributes whose value is specified as a character
- * string in FreeSDP. These values are usually given to
- * fsdp_get_strn_att() in order to get the corresponding value.
- *
- **/
-typedef enum
-{
- FSDP_SESSION_STR_ATT_CATEGORY,
- FSDP_SESSION_STR_ATT_KEYWORDS,
- FSDP_SESSION_STR_ATT_TOOL,
- FSDP_SESSION_STR_ATT_CHARSET,
-} fsdp_session_str_att_t;
-
-/**
- * @short FreeSDP SDP description media object.
- *
- * Object for media specific information in SDP descriptions. Each SDP
- * description may include any number of media section. A
- * fsdp_media_description_t object encapsulates the information in a
- * media section, such as video, audio or whiteboard.
- **/
-typedef struct fsdp_media_description_t_s fsdp_media_description_t;
-
-/**
- * @short FreeSDP SDP session description object.
- *
- * Contains all the information extracted from a textual SDP
- * description, including all the media announcements.
- **/
-typedef struct fsdp_description_t_s fsdp_description_t;
-
-/**
- * Allocates memory and initializes values for a new
- * fsdp_description_t object. If you call this routine, do not forget
- * about <code>fsdp_description_delete()</code>
- *
- * @return new fsdp_description_t object
- **/
-fsdp_description_t *fsdp_description_new (void);
-
-/**
- * Destroys a fsdp_description_t object.
- *
- * @param dsc pointer to the fsdp_description_t object to delete.
- **/
-void fsdp_description_delete (fsdp_description_t * dsc);
-
-/**
- * Calling this function over a description is equivalent to calling
- * fsdp_description_delete and then fsdp_description_delete. This
- * function is however more suitable and efficient for description
- * processing loops.
- *
- * @param dsc pointer to the fsdp_description_t object to
- * renew/recycle.
- **/
-void fsdp_description_recycle (fsdp_description_t * dsc);
-
-/**
- * * Returns a string correspondent to the error number.
- * *
- * * @param err_no error number.
- * **/
-const char *fsdp_strerror (fsdp_error_t err_no);
-
- /*@}*//* closes addtogroup common */
-
-END_C_DECLS
-#endif /* FSDP_COMMON_H */