---
name: "IPC::Msg"
section: "3pm"
platform: "linux"
package: "perl-5.005-doc"
version: "5.005.03-7.1"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/IPC::Msg/3pm"
---

# IPC::Msg(3pm)

SysV Msg IPC object class

## NAME

IPC::Msg - SysV Msg IPC object class

## SYNOPSIS

```
    use IPC::SysV qw(IPC_PRIVATE S_IRWXU S_IRWXG S_IRWXO);
    use IPC::Msg;

    $msg = new IPC::Msg(IPC_PRIVATE, S_IRWXU ⎪ S_IRWXG ⎪ S_IRWXO);

    $msg->snd(pack("L a*",$msgtype,$msg));

    $msg->rcv($buf,256);

    $ds = $msg->stat;

    $msg->remove;
```

## DESCRIPTION

## METHODS

- new ( KEY , FLAGS )

  Creates a new message queue associated with `KEY`. A new queue is created if\

- •

  `KEY` is equal to `IPC_PRIVATE`\

- •

  `KEY` does not already  have  a  message queue associated with it, and *FLAGS* & IPC\_CREAT is true.

  On creation of a new message queue `FLAGS` is used to set the permissions.\

- id

  Returns the system message queue identifier.\

- rcv ( BUF, LEN \[, TYPE \[, FLAGS \]\] )

  Read a message from the queue. Returns the type of the message read. See the *msgrcv* manpage\

- remove

  Remove and destroy the message queue from the system.\

- set ( STAT )

  - set ( NAME =\> VALUE \[, NAME =\> VALUE ...\] )

  `set` will set the following values of the `stat` structure associated with the message queue.

  ```
      uid
      gid
      mode (oly the permission bits)
      qbytes
  ```

  `set` accepts either a stat object, as returned by the `stat` method, or a list of *name*-*value* pairs.\

- snd ( TYPE, MSG \[, FLAGS \] )

  Place a message on the queue with the data from `MSG` and with type `TYPE`. See the *msgsnd* manpage.\

- stat

  Returns an object of type `IPC::Msg::stat` which is a sub-class of `Class::Struct`. It provides the following fields. For a description of these fields see you system documentation.

  ```
      uid
      gid
      cuid
      cgid
      mode
      qnum
      qbytes
      lspid
      lrpid
      stime
      rtime
      ctime
  ```

## SEE ALSO

the *IPC::SysV* manpage the *Class::Struct* manpage

## AUTHOR

Graham Barr \<gbarr@pobox.com\>

## COPYRIGHT

Copyright (c) 1997 Graham Barr. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
