Changeset 514 for pjproject/trunk
- Timestamp:
- Jun 16, 2006 4:52:51 PM (18 years ago)
- Location:
- pjproject/trunk/pjlib
- Files:
-
- 1 deleted
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjlib/docs/footer.html
r48 r514 1 </TD></TR> 2 </TABLE> 3 4 </td> 5 </tr> 6 </table> 1 <!--#include virtual="/footer.html" --> 7 2 8 3 </BODY> -
pjproject/trunk/pjlib/docs/header.html
r48 r514 2 2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> 3 3 <title>PJLIB Documentation</title> 4 <link href=" doxygen.css" rel="stylesheet" type="text/css">4 <link href="/style/style.css" rel="stylesheet" type="text/css"> 5 5 </head><body> 6 <!--#include virtual="/header.html" --> 6 7 7 <TABLE id="MainTable" cellSpacing="0" cellPadding="0" width="100%" border="0">8 <!-- First Row, PJPROJECT logo. -->9 <TR>10 <TD>11 <TABLE id="LogoTable" cellSpacing="0" cellPadding="0" width="100%" border="0">12 <TR>13 <TD><a href="/" target="_top"><IMG src="/images/pjlogo.jpg" border="0"></a></TD>14 <TD> </TD>15 <TD> </TD>16 </TR>17 </TABLE>18 </TD>19 </TR>20 <!-- Second Row, a HR. -->21 <TR>22 <td colspan="3"><hr noshade size="1">23 </td>24 </TR>25 <!-- Third row, main contents. -->26 <TR>27 <TD>28 29 <!-- Main doxygen content -->30 <TABLE border="0">31 <TR><TD width="800" align="left">32 -
pjproject/trunk/pjlib/include/pj/doxygen.h
r513 r514 235 235 * 236 236 * 237 * @subsection hl_network_io_sec High-Level Network I/O238 *239 * At higher abstraction, PJLIB provides @ref PJ_IOQUEUE,240 * which promotes creating high performance network241 * applications by managing asynchronous I/O. This is a passive framework242 * that utilizes the most effective way to manage asynchronous I/O243 * on a given platform, such as:244 * - IoCompletionPort on WinNT,245 * - on Linux it can use either /dev/epoll or aio.246 * - or to fall back to use @a select()247 *248 * At even a higher abstraction, PJLIB provides @ref PJ_EQUEUE, which249 * combines asynchronous I/O with timer management and thread management250 * to fasilitate creating trully high performance, event driven251 * application.252 *253 237 * 254 238 * @subsection timer_mgmt_sec Timer Management … … 485 469 * several choices on which \a dsw file to open: 486 470 \verbatim 487 $PJPROJECT/build/pjproject.dsw 488 $PJPROJECT/pjlib/build/pjlib.dsw 489 $PJPROJECT/pjsip/build/pjsip.dsw 471 $PJPROJECT/pjlib/build/pjlib.dsw 472 $PJPROJECT/pjsip/build/pjsip.dsw 490 473 ..etc 491 474 \endverbatim 492 475 * 493 * The easiest way is to open <tt>pjproject.dsw</tt> file in \b \c $PJPROJECT/build 494 * directory. However this will only build the required projects, not 495 * the complete projects. For example, the PJLIB test and samples projects 496 * are not included in this workspace. To build the complete projects, you must 476 * The easiest way is to open <tt>pjsip_apps.dsw</tt> file in \b \c $PJPROJECT/pjsip-apps/build 477 * directory, and build pjsua project or the samples project. 478 * However this will not build the complete projects. 479 * For example, the PJLIB test is not included in this workspace. 480 * To build the complete projects, you must 497 481 * open and build each \a dsw file in \c build directory in each 498 482 * subprojects. For example, to open the complete PJLIB workspace, open … … 568 552 * 569 553 \verbatim 570 $ cd /home/user/pjproject # <-- go to $PJPROJECT571 $ vi build.mak # <-- set build target etc554 $ cd /home/user/pjproject 555 $ ./configure 572 556 $ touch pjlib/include/pj/config_site.h 573 $ cd pjlib/build # <-- go to projet's build dir574 $ make # <-- build the project557 $ make dep 558 $ make 575 559 \endverbatim 576 560 * 577 * For other project, \a cd to <tt>build</tt> directory in the project 578 * and execute \a make from there. 561 * The above process will build all static libraries and all applications. 562 * 563 * \note the <tt>configure</tt> script is not a proper autoconf script, 564 * but rather a simple shell script to detect current host. This script 565 * currently does not support cross-compilation. 579 566 * 580 567 * \note For Linux kernel target, there are additional steps required, which 581 568 * will be explained in section \ref linux_kern_target_subsec. 582 569 * 583 * @subsubsection build_mak_sec Editing build.mak570 * @subsubsection build_mak_sec Cross Compilation 584 571 * 585 * The \c build.mak file in \c $PJPROJECT root directory is used to 586 * specify the build configuration. This file is expected to export 587 * the following \a make variables: 588 * 589 * - <tt><b>MACHINE_NAME</b></tt> 590 *\n 591 * Target machine/processor, one of: <b>{ i386 | alpha | sparc }</b>. 592 * 593 * - <tt><b>OS_NAME</b></tt> 594 *\n 595 * Target operating system, one of: <b>{ win32 | linux | 596 * linux-kernel | sunos }</b>. 597 * 598 * - <tt><b>CC_NAME</b></tt> 599 *\n 600 * Compiler name: <b>{ gcc | vc }</b>\n 601 * (Note that support for Visual C (vc) compiler with the \c make system is 602 * experimental, and it will only work when run inside a DOS shell 603 * (i.e. <tt>"HOST_NAME=win32"</tt>)). 604 * 605 * - <tt><b>HOST_NAME</b></tt> 606 *\n 607 * Build host: <b>{ unix | mingw | win32 }</b>\n 608 * (Note: win32 host means a DOS command prompt. Support for this type 609 * of development host is experimental). 610 * 611 * These variables will cause the correct configuration file in 612 * \c $PJPROJECT/build directory to be executed by \a make. For 613 * example, specifying \c OS_NAME=linux will cause file \c os-linux.mak 614 * in \c build directory to be executed. These files contain specific 615 * configuration for the option that is selected. 572 * For cross compilation, you will need to edit the \c build.mak file in 573 * \c $PJPROJECT root directory manually. Please see <b>README-configure</b> file 574 * in the root directory for more information. 616 575 * 617 576 * For Linux kernel target, you are also required to declare the following -
pjproject/trunk/pjlib/include/pj/os.h
r433 r514 506 506 * @ingroup PJ_OS 507 507 * @{ 508 * Reader/writer mutex is a classic synchronization object where multiple 509 * readers can acquire the mutex, but only a single writer can acquire the 510 * mutex. 511 */ 512 513 /** 514 * Opaque declaration for reader/writer mutex. 508 515 * Reader/writer mutex is a classic synchronization object where multiple 509 516 * readers can acquire the mutex, but only a single writer can acquire the -
pjproject/trunk/pjlib/include/pj/string.h
r472 r514 456 456 * @param src The source string. 457 457 */ 458 PJ_IDECL(void) pj_strcat2(pj_str_t *dst, const char *s tr);458 PJ_IDECL(void) pj_strcat2(pj_str_t *dst, const char *src); 459 459 460 460 -
pjproject/trunk/pjlib/include/pj/types.h
r362 r514 314 314 * Swap the byte order of an 32bit data. 315 315 * 316 * @param val 16The 32bit data.316 * @param val32 The 32bit data. 317 317 * 318 318 * @return An 32bit data with swapped byte order. -
pjproject/trunk/pjlib/include/pj/unicode.h
r181 r514 22 22 #include <pj/types.h> 23 23 24 25 /** 26 * @defgroup PJ_UNICODE Unicode Support 27 * @ingroup PJ_MISC 28 * @{ 29 */ 24 30 25 31 PJ_BEGIN_DECL … … 61 67 #if defined(PJ_NATIVE_STRING_IS_UNICODE) && PJ_NATIVE_STRING_IS_UNICODE!=0 62 68 69 /** 70 * This macro is used to declare temporary Unicode buffer for ANSI to 71 * Unicode conversion, and should be put in declaration section of a block. 72 * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this 73 * macro will expand to nothing. 74 */ 63 75 # define PJ_DECL_UNICODE_TEMP_BUF(buf,size) wchar_t buf[size]; 76 77 /** 78 * This macro will convert ANSI string to native, when the platform's 79 * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). 80 */ 64 81 # define PJ_STRING_TO_NATIVE(s,buf,max) pj_ansi_to_unicode( \ 65 82 s, strlen(s), \ 66 83 buf, max) 84 85 /** 86 * This macro is used to declare temporary ANSI buffer for Unicode to 87 * ANSI conversion, and should be put in declaration section of a block. 88 * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this 89 * macro will expand to nothing. 90 */ 67 91 # define PJ_DECL_ANSI_TEMP_BUF(buf,size) char buf[size]; 92 93 94 /** 95 * This macro will convert Unicode string to ANSI, when the platform's 96 * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). 97 */ 68 98 # define PJ_NATIVE_TO_STRING(cs,buf,max) pj_unicode_to_ansi( \ 69 99 cs, wcslen(cs), \ … … 72 102 #else 73 103 104 /** 105 * This macro is used to declare temporary Unicode buffer for ANSI to 106 * Unicode conversion, and should be put in declaration section of a block. 107 * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this 108 * macro will expand to nothing. 109 */ 74 110 # define PJ_DECL_UNICODE_TEMP_BUF(var,size) 111 /** 112 * This macro will convert ANSI string to native, when the platform's 113 * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). 114 */ 75 115 # define PJ_STRING_TO_NATIVE(s,buf,max) ((char*)s) 116 /** 117 * This macro is used to declare temporary ANSI buffer for Unicode to 118 * ANSI conversion, and should be put in declaration section of a block. 119 * When PJ_NATIVE_STRING_IS_UNICODE macro is not defined, this 120 * macro will expand to nothing. 121 */ 76 122 # define PJ_DECL_ANSI_TEMP_BUF(buf,size) 123 /** 124 * This macro will convert Unicode string to ANSI, when the platform's 125 * native string is Unicode (PJ_NATIVE_STRING_IS_UNICODE is non-zero). 126 */ 77 127 # define PJ_NATIVE_TO_STRING(cs,buf,max) ((char*)(const char*)cs) 78 128 … … 83 133 PJ_END_DECL 84 134 135 /* 136 * @} 137 */ 138 85 139 86 140 #endif /* __PJ_UNICODE_H__ */
Note: See TracChangeset
for help on using the changeset viewer.