source: rtems/cpukit/posix/include/rtems/posix/posixapi.h @ c499856

4.115
Last change on this file since c499856 was c499856, checked in by Chris Johns <chrisj@…>, on 03/20/14 at 21:10:47

Change all references of rtems.com to rtems.org.

  • Property mode set to 100644
File size: 2.0 KB
Line 
1/**
2 * @file
3 *
4 * @brief POSIX API Implementation
5 *
6 * This include file defines the top level interface to the POSIX API
7 * implementation in RTEMS.
8 */
9
10/*
11 *  COPYRIGHT (c) 1989-2011.
12 *  On-Line Applications Research Corporation (OAR).
13 *
14 *  The license and distribution terms for this file may be
15 *  found in the file LICENSE in this distribution or at
16 *  http://www.rtems.org/license/LICENSE.
17 */
18
19#ifndef _RTEMS_POSIX_POSIXAPI_H
20#define _RTEMS_POSIX_POSIXAPI_H
21
22#include <rtems/config.h>
23#include <rtems/score/objectimpl.h>
24
25/**
26 * @defgroup POSIXAPI RTEMS POSIX API
27 *
28 * RTEMS POSIX API definitions and modules.
29 *
30 */
31/**@{**/
32
33/**
34 * @brief POSIX API Fatal domains.
35 */
36typedef enum {
37  POSIX_FD_PTHREAD,      /**< A pthread thread error. */
38  POSIX_FD_PTHREAD_ONCE  /**< A pthread once error. */
39} POSIX_Fatal_domain;
40
41/**
42 * @brief POSIX API Fatal error.
43 *
44 * A common method of rasing a POSIX API fatal error.
45 *
46 * @param[in] domain The POSIX error domain.
47 * @param[in] eno The error number as defined in errno.h.
48 */
49void _POSIX_Fatal_error( POSIX_Fatal_domain domain, int eno );
50
51/**
52 * @brief Initialize POSIX API.
53 *
54 * This method is responsible for initializing each of the POSIX
55 * API managers.
56 */
57void _POSIX_API_Initialize(void);
58
59/**
60 * @brief Queries the object identifier @a id for a @a name.
61 *
62 * @param[in] information Object information.
63 * @param[in] name Zero terminated name string to look up.
64 * @param[out] id Pointer for identifier.  The pointer must be valid.
65 * @param[out] len Pointer for string length.  The pointer must be valid.
66 *
67 * @retval 0 Successful operation.
68 * @retval EINVAL The @a name pointer is @c NULL or the @a name string has
69 * zero length.
70 * @retval ENAMETOOLONG The @a name string length is greater than or equal to
71 * @c NAME_MAX.
72 * @retval ENOENT Found no corresponding identifier.
73 */
74int _POSIX_Name_to_id(
75  Objects_Information *information,
76  const char          *name,
77  Objects_Id          *id,
78  size_t              *len
79);
80
81/** @} */
82
83#endif
84/* end of include file */
Note: See TracBrowser for help on using the repository browser.