Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals | Examples

formatter.h

Go to the documentation of this file.
00001 /*
00002   This file is part of FreeSDP
00003   Copyright (C) 2001,2002,2003 Federico Montesino Pouzols <fedemp@altern.org>
00004 
00005   FreeSDP is free software; you can redistribute it and/or modify it
00006   under the terms of the GNU General Public License as published by
00007   the Free Software Foundation; either version 2 of the License, or
00008   (at your option) any later version.
00009 
00010   This program is distributed in the hope that it will be useful,
00011   but WITHOUT ANY WARRANTY; without even the implied warranty of
00012   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013   GNU General Public License for more details.
00014 
00015   You should have received a copy of the GNU General Public License
00016   along with this program; if not, write to the Free Software
00017   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00018 */
00019 
00026 #ifndef FSDP_FORMATTER_H
00027 #define FSDP_FORMATTER_H
00028 
00029 #include <freesdp/common.h>
00030 
00031 BEGIN_C_DECLS
00032 
00059 fsdp_error_t
00060 fsdp_make_description(fsdp_description_t **dsc, 
00061                 unsigned int sdp_version,
00062                 const char *session_name, const char *session_id,
00063                 const char *announcement_version,
00064                 const char *owner_username,
00065                 fsdp_network_type_t owner_nt,
00066                 fsdp_address_type_t owner_at,
00067                 const char *owner_address,
00068                 time_t start, time_t stop);
00069 
00081 fsdp_error_t
00082 fsdp_format(const fsdp_description_t *dsc, char **text_description);
00083 
00092 fsdp_error_t
00093 fsdp_format_bounded(const fsdp_description_t *dsc, char *text_description,
00094               size_t maxsize);
00095 
00103 fsdp_error_t
00104 fsdp_set_information(fsdp_description_t *dsc, const char *info);
00105 
00114 fsdp_error_t
00115 fsdp_set_uri(fsdp_description_t *dsc, const char *uri);
00116 
00128 fsdp_error_t
00129 fsdp_add_email(fsdp_description_t *dsc, char *email);
00130 
00142 fsdp_error_t
00143 fsdp_add_phone(fsdp_description_t *dsc, char *phone);
00144 
00159 fsdp_error_t
00160 fsdp_set_conn_address(fsdp_description_t *dsc, fsdp_network_type_t nt,
00161                 fsdp_address_type_t at, const char *address,
00162                 unsigned int address_ttl, unsigned int address_count);
00163 
00180 fsdp_error_t
00181 fsdp_add_bw_info(fsdp_description_t *dsc,
00182            fsdp_bw_modifier_type_t mt, unsigned long int value,
00183            const char *unk_bm);
00184 
00188 fsdp_error_t
00189 fsdp_add_period(fsdp_description_t *dsc, time_t start, time_t stop);
00190 
00191 /* TODO: clarify how to link periods and repeats */
00192 fsdp_error_t
00193 fsdp_add_repeat(fsdp_description_t *dsc, unsigned long int interval,
00194           unsigned long int duration, const char *offsets);
00195 
00207 fsdp_error_t
00208 fsdp_set_encryption(fsdp_description_t *dsc, fsdp_encryption_method_t emethod,
00209               const char *ekey);
00210 
00214 fsdp_error_t
00215 fsdp_set_timezone_adj(fsdp_description_t *dsc, const char *adj);
00216 
00220 fsdp_error_t
00221 fsdp_set_str_att(fsdp_description_t *dsc, fsdp_session_str_att_t att,
00222            const char *value);
00223 
00227 fsdp_error_t
00228 fsdp_add_sdplang(fsdp_description_t *dsc, const char* lang);
00229 
00233 fsdp_error_t
00234 fsdp_add_lang(fsdp_description_t *dsc, const char* lang);
00235 
00239 fsdp_error_t
00240 fsdp_set_sendrecv(fsdp_description_t *dsc, fsdp_sendrecv_mode_t mode);
00241 
00245 fsdp_error_t
00246 fsdp_set_session_type(fsdp_description_t *dsc, fsdp_session_type_t type);
00247 
00251 fsdp_error_t
00252 fsdp_add_media(fsdp_description_t *dsc, fsdp_media_description_t *const mdsc);
00253 
00257 fsdp_error_t
00258 fsdp_make_media(fsdp_media_description_t **mdsc, fsdp_media_t type,
00259           unsigned int port, unsigned int port_count,
00260           fsdp_transport_protocol_t tp, const char *format);
00261 
00265 fsdp_error_t
00266 fsdp_add_media_format(fsdp_media_description_t *mdsc, const char *format);
00267 
00271 fsdp_error_t
00272 fsdp_set_media_title(fsdp_media_description_t *mdsc, const char *title);
00273 
00277 fsdp_error_t
00278 fsdp_set_media_conn_address(fsdp_media_description_t *mdsc,
00279                    fsdp_network_type_t nt, fsdp_address_type_t at, 
00280                    const char *address, unsigned int address_ttl, 
00281                    unsigned int address_count);
00282 
00286 fsdp_error_t
00287 fsdp_add_media_bw_info(fsdp_media_description_t *mdsc, 
00288                  fsdp_bw_modifier_type_t mt,
00289                  unsigned long int value, const char *unk_bm);
00290 
00294 fsdp_error_t
00295 fsdp_set_media_encryption(fsdp_media_description_t *mdsc,
00296                  fsdp_encryption_method_t em, const char *content);
00297 
00301 fsdp_error_t
00302 fsdp_set_media_ptime(fsdp_media_description_t *mdsc, unsigned int ptime);
00303 
00307 fsdp_error_t
00308 fsdp_set_media_maxptime(fsdp_media_description_t *mdsc, unsigned int maxptime);
00309 
00313 fsdp_error_t
00314 fsdp_add_media_fmtp(fsdp_media_description_t *mdsc, const char* fmtp);
00315 
00319 fsdp_error_t
00320 fsdp_set_media_orient(fsdp_media_description_t *mdsc, fsdp_orient_t orient);
00321 
00325 fsdp_error_t
00326 fsdp_add_media_sdplang(fsdp_media_description_t *mdsc, const char* lang);
00327 
00331 fsdp_error_t
00332 fsdp_add_media_lang(fsdp_media_description_t *mdsc, const char* lang);
00333 
00337 fsdp_error_t
00338 fsdp_set_media_sendrecv(fsdp_media_description_t *mdsc, 
00339                fsdp_sendrecv_mode_t mode);
00340 
00344 fsdp_error_t
00345 fsdp_set_media_framerate(fsdp_media_description_t *mdsc, float rate);
00346 
00350 fsdp_error_t
00351 fsdp_set_media_quality(fsdp_media_description_t *mdsc, unsigned int q);
00352 
00356 fsdp_error_t
00357 fsdp_add_media_rtpmap(fsdp_media_description_t *mdsc, const char* payload_type,
00358                 const char *encoding_name, unsigned int rate, 
00359                 const char *parameters);
00360 
00364 fsdp_error_t
00365 fsdp_set_media_rtcp(fsdp_media_description_t *mdsc, unsigned int port,
00366               fsdp_network_type_t nt, fsdp_address_type_t at,
00367               const char *address);
00368  /* closes formatter group */
00370 
00371 END_C_DECLS
00372 
00373 #endif /* FSDP_FORMATTER_H */

Generated on Sun Jan 18 21:12:43 2004 for FreeSDP by doxygen 1.3.4