source: mainline/uspace/lib/c/include/ipc/services.h@ 1be7bee

Last change on this file since 1be7bee was 0a8f070, checked in by Matthieu Riolo <matthieu.riolo@…>, 6 years ago

Create taskman server (extracts task-related operations from naming service)

  • Exploits initial phones connected to spawn parent instead of NS.
  • session_ns changed to session_primary (setup during taskman-loader handshake).
  • Task creation moved from NS to taskman (no clonable services anymore).
  • Other task-related operations implementation is to come (task_retval is temporarily dummy).
  • Async framework: implicit connections — create fibrils for calls that arrived through initial phone.

Conflicts:

abi/include/abi/ipc/methods.h
boot/Makefile.common
uspace/Makefile
uspace/app/trace/ipcp.c
uspace/lib/c/generic/async.c
uspace/lib/c/generic/libc.c
uspace/lib/c/generic/loader.c
uspace/lib/c/generic/ns.c
uspace/lib/c/generic/private/async.h
uspace/lib/c/generic/private/ns.h
uspace/lib/c/generic/task.c
uspace/lib/c/include/async.h
uspace/lib/c/include/ipc/services.h
uspace/lib/c/include/ipc/taskman.h
uspace/lib/c/include/loader/pcb.h
uspace/lib/c/include/ns.h
uspace/srv/loader/main.c
uspace/srv/ns/clonable.c
uspace/srv/ns/ns.c

  • Property mode set to 100644
File size: 2.7 KB
RevLine 
[250717cc]1/*
[df4ed85]2 * Copyright (c) 2006 Jakub Jermar
[250717cc]3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * - Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * - The name of the author may not be used to endorse or promote products
15 * derived from this software without specific prior written permission.
16 *
17 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
18 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
19 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
[fadd381]29/** @addtogroup libcipc
[b2951e2]30 * @{
31 */
[250717cc]32/**
[19b28b0]33 * @file services.h
34 * @brief List of all known services and their codes.
[250717cc]35 */
36
[4805495]37#ifndef _LIBC_SERVICES_H_
38#define _LIBC_SERVICES_H_
[250717cc]39
[abf2dfd]40#include <abi/fourcc.h>
[d408ea0]41
[5559712]42/** Name of service brokered by NS */
[c0cdcaf]43typedef enum {
[d408ea0]44 SERVICE_NONE = 0,
45 SERVICE_VFS = FOURCC('v', 'f', 's', ' '),
[86ffa27f]46 SERVICE_LOC = FOURCC('l', 'o', 'c', ' '),
[5559712]47 SERVICE_SYSMAN = FOURCC('s', 'y', 's', 'm'),
[0a8f070]48 SERVICE_TASKMAN = FOURCC('t', 's', 'k', 'm'),
[1f2dd20]49 SERVICE_LOGGER = FOURCC('l', 'o', 'g', 'g'),
[d408ea0]50 SERVICE_DEVMAN = FOURCC('d', 'e', 'v', 'n'),
[6a8ce16e]51} service_t;
[0b99e40]52
[57914494]53#define SERVICE_NAME_CHARDEV_TEST_SMALLX "chardev-test/smallx"
54#define SERVICE_NAME_CHARDEV_TEST_LARGEX "chardev-test/largex"
55#define SERVICE_NAME_CHARDEV_TEST_PARTIALX "chardev-test/partialx"
[8d6bcc8c]56#define SERVICE_NAME_CLIPBOARD "clipboard"
[f9b2cb4c]57#define SERVICE_NAME_CORECFG "corecfg"
58#define SERVICE_NAME_DHCP "net/dhcp"
59#define SERVICE_NAME_DNSR "net/dnsr"
60#define SERVICE_NAME_INET "net/inet"
[1edd6d0]61#define SERVICE_NAME_IPC_TEST "ipc-test"
[f9b2cb4c]62#define SERVICE_NAME_NETCONF "net/netconf"
63#define SERVICE_NAME_UDP "net/udp"
64#define SERVICE_NAME_TCP "net/tcp"
[ff381a7]65#define SERVICE_NAME_VBD "vbd"
66#define SERVICE_NAME_VOLSRV "volsrv"
[c76e926]67
[5559712]68#define LOC_DEVICE_NAMESPACE "devices"
69#define LOC_UNIT_NAMESPACE_SEPARATOR "__"
70
[250717cc]71#endif
[b2951e2]72
[fadd381]73/** @}
[b2951e2]74 */
Note: See TracBrowser for help on using the repository browser.