---
name: "condom"
section: "1"
platform: "linux"
package: "funny-manpages"
version: "1.1-3"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/condom"
---

# condom(1)

protection against viruses and prevention of child processes

## NAME

condom - protection against viruses and prevention of child processes

## SYNOPSIS

**condom** \[*options*\] \[*processid*\]

## DESCRIPTION

*condom* provides protection against System Transmitted Viruses (STVs) that may invade your system. Although the spread of such viruses across a network can only be abated by aware and cautious users, *condom* is the only highly effective means of preventing viruses from entering your system (see [*celibacy*(1)](/celibacy/1.md)). Any data passed to *condom* by the protected process will be blocked, as specified by the value of the **-s** option (see **OPTIONS** below). *condom* is known to defend against the following viruses and other malicious afflictions:

- •

  AIDS

- •

  Herpes Simplex (genital varieties)

- •

  Syphilis

- •

  Crabs

- •

  Genital warts

- •

  Gonhorrea

- •

  Chlamydia

- •

  Michelangelo

- •

  Jerusalem

When used alone or in conjunction with *pill*(1), [*sponge*(1)](/sponge/1.md), *foam*(1), and/or *setiud*(3), *condom* also prevents the conception of a child process. If invoked from within a synchronous process, *condom* has, by default, an 80% chance of preventing the external processes from becoming parent processes (see the **-s** option below). When other process contraceptives are used, the chance of preventing a child process from being forked becomes much greater. See *pill*(1), [*sponge*(1)](/sponge/1.md), *foam*(1), and *setiud*(3) for more information.

If no options are given, the current user's login process (as determined by the environment variable USER) is protected with a Trojan rough-cut latex condom without a reservoir tip. The optional \`\`*processid*'' argument is an integer specifying the process to protect.

NOTE: *condom* may only be used with a hard disk. *condom* will terminate abnormally with exit code -1 if used with a floppy disk (see **DIAGNOSTICS** below).

## OPTIONS

The following options may be given to *condom*:

- **-b** *brand*

  *brand*s are as follows:

  - trojan (default)

    - ramses

    - sheik

    - goldcoin

    - fourex

    - **-m** *material*

  The valid *material*s are:

  - latex (default)

    - saranwrap

    - membrane

    **WARNING!** The membrane option is *not* endorsed by the System Administrator General as an effective barrier against certain viruses. It is supported only for the sake of tradition.

- **-f** *flavor*

  The following *flavor*s are currently supported:

  - plain (default)

    - apple

    - banana

    - cherry

    - cinnamon

    - licorice

    - orange

    - peppermint

    - raspberry

    - spearmint

    - strawberry

    - **-r**

  Toggle reservoir tip (default is no reservoir tip)

- **-s** *strength*

  *strength* is an integer between 20 and 100 specifying the resilience of *condom* against data passed to *condom* by the protected process. Using a larger value of *strength* increases *condom*'s protective abilities, but also reduces interprocess communication. A smaller value of *strength* increases interprocess communication, but also increases the likelihood of a security breach. An extremely vigorous process or one passing an enormous amount of data to *condom* will increase the chance of *condom*'s failure. The default *strength* is 80%.

- **-t** *texture*

  Valid *texture*s are:

  - rough (default)

    - ribbed

    - bumps

    - lubricated

    (provides smoother interaction between processes)

WARNING: The use of an external application to *condom* in order to reduce friction between processes has been proven in benchmark tests to decrease *condom*'s strength factor! If execution speed is important to your process, use the \`\`**-t** **lubricated**'' option.

## DIAGNOSTICS

*condom* terminates with one of the following exit codes:

- \-1

  An attempt was made to use *condom* on a floppy disk.

- 0

  *condom* exited successfully (no data was passed to the synchronous process).

- 1

  *condom* failed and data was allowed through. The danger of transmission of an STV or the forking of a child process is inversely proportional to the number of other protections employed and is directly proportional to the ages of the processes involved.

## BUGS

*condom* is **NOT** 100% effective at preventing a child process from being forked or at deterring the invasion of a virus (although the System Administrator General has deemed that *condom* is the most effective means of preventing the spread of system transmitted viruses). See [*celibacy*(1)](/celibacy/1.md) for information on a 100% effective program for preventing these problems.

Remember, the use of [*sex*(1)](/sex/1.md) and other related routines should only occur between mature, consenting processes. If you must use [*sex*(1)](/sex/1.md), please employ *condom* to protect your process and your synchronous process. If we are all responsible, we can stop the spread of STVs.

## AUTHORS and HISTORY

The original version of *condom* was released in Roman times and was only marginally effective. With the advent of modern technology, *condom* now supports many more options and is much more effective.

The current release of *condom* was written by Ken Maupin at the University of Washington (maupin@cs.washington.edu) and was last updated on 10/7/92.

## SEE ALSO

[*celibacy*(1)](/celibacy/1.md), [*sex*(1)](/sex/1.md), *pill*(1), [*sponge*(1)](/sponge/1.md), *foam*(1), and *setiud*(3)
