summaryrefslogtreecommitdiffstats
path: root/spec/rtems/part/if/delete.yml
blob: 922e19a47d34c1e86e7a3c2ce7437070eb1392d4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause
brief: |
  Deletes the partition.
copyrights:
- Copyright (C) 2020 embedded brains GmbH (http://www.embedded-brains.de)
- Copyright (C) 1988, 2008 On-Line Applications Research Corporation (OAR)
definition:
  default:
    attributes: null
    body: null
    params:
    - ${../../type/if/id:/name} ${.:/params[0]/name}
    return: ${../../status/if/code:/name}
  variants: []
description: |
  This directive deletes the partition specified by the ${.:/params[0]/name}
  parameter.  The partition cannot be deleted if any of its buffers are still
  allocated.  The ${/glossary/ptcb:/term} for the deleted partition is
  reclaimed by RTEMS.
enabled-by: true
index-entries:
- delete a partition
interface-type: function
links:
- role: interface-placement
  uid: header
- role: interface-ingroup
  uid: group
name: rtems_partition_delete
notes: |
  This directive may cause the calling task to be preempted due to an obtain
  and release of the object allocator mutex.

  The calling task does not have to be the task that created the partition.
  Any local task that knows the partition identifier can delete the partition.

  When a global partition is deleted, the partition identifier must be
  transmitted to every node in the system for deletion from the local copy of
  the global object table.

  The partition must reside on the local node, even if the partition was
  created with the ${../../attr/if/global:/name} attribute.
params:
- description: is the partition identifier.
  dir: null
  name: id
return:
  return: null
  return-values:
  - description: |
      The requested operation was successful.
    value: ${../../status/if/successful:/name}
  - description: |
      There was no partition with the specified identifier.
    value: ${../../status/if/invalid-id:/name}
  - description: |
      The partition resided on a remote node.
    value: ${../../status/if/illegal-on-remote-object:/name}
  - description: |
      There were buffers of the partition still in use.
    value: ${../../status/if/resource-in-use:/name}
type: interface