Difference between revisions of "/dev"

From The iPhone Wiki
Jump to: navigation, search
(Files)
(Files)
Line 52: Line 52:
 
!width="100"| [[n88ap|iPhone 3G S]]
 
!width="100"| [[n88ap|iPhone 3G S]]
 
!width="100"| [[n90ap|iPhone 4]]
 
!width="100"| [[n90ap|iPhone 4]]
!width="100"| [[n45ap|iPod touch]]
 
 
!width="100"| [[n45ap|iPod touch]]
 
!width="100"| [[n45ap|iPod touch]]
 
!width="100"| [[n72ap|iPod touch 2G]]
 
!width="100"| [[n72ap|iPod touch 2G]]
Line 62: Line 61:
 
|*[[/dev/zero|zero]]
 
|*[[/dev/zero|zero]]
 
|(Outputs 0x0, discards input)
 
|(Outputs 0x0, discards input)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/vn1|vn1]]
 
|*[[/dev/vn1|vn1]]
Line 69: Line 78:
 
|*[[/dev/urandom|urandom]]
 
|*[[/dev/urandom|urandom]]
 
|(Outputs pseudo-random data)
 
|(Outputs pseudo-random data)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/uart.umts|uart.utms]]
 
|*[[/dev/uart.umts|uart.utms]]
 
|( new data line added on the iPhone 4 )
 
|( new data line added on the iPhone 4 )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/uart.iap|uart.iap]]
 
|*[[/dev/uart.iap|uart.iap]]
Line 85: Line 114:
 
|*[[/dev/uart.bluetooth|uart.bluetooth]]
 
|*[[/dev/uart.bluetooth|uart.bluetooth]]
 
|( Bluetooth Dev Node disabled by the kernel for power saving )
 
|( Bluetooth Dev Node disabled by the kernel for power saving )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/ttypf|ttypf]]
 
|*[[/dev/ttypf|ttypf]]
Line 122: Line 161:
 
|*[[/dev/tty.iap|tty.iap]]
 
|*[[/dev/tty.iap|tty.iap]]
 
|([http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial Dock connector serial interface])
 
|([http://devdot.wikispaces.com/Iphone+Serial+Port+Tutorial Dock connector serial interface])
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/tty.highland-park|tty.highland-park]]
 
|*[[/dev/tty.highland-park|tty.highland-park]]
Line 127: Line 176:
 
|*[[/dev/tty.gas-gauge|tty.gas-gauge]]
 
|*[[/dev/tty.gas-gauge|tty.gas-gauge]]
 
|(Battery meter)
 
|(Battery meter)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/tty.debug|tty.debug]]
 
|*[[/dev/tty.debug|tty.debug]]
 
|[[Baseband_Commands|(Baseband)]]
 
|[[Baseband_Commands|(Baseband)]]
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/tty.bluetooth|tty.bluetooth]]
 
|*[[/dev/tty.bluetooth|tty.bluetooth]]
Line 139: Line 208:
 
|*[[/dev/rdisk0s2|rdisk0s2s1]]
 
|*[[/dev/rdisk0s2|rdisk0s2s1]]
 
|(Character device equivalent of disk0s2s1)
 
|(Character device equivalent of disk0s2s1)
  +
|{{no}}
  +
|{{no}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{no}}
  +
|{{no}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/rdisk0s2|rdisk0s2]]
 
|*[[/dev/rdisk0s2|rdisk0s2]]
 
|(Character device equivalent of disk0s2)
 
|(Character device equivalent of disk0s2)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/rdisk0s1|rdisk0s1]]
 
|*[[/dev/rdisk0s1|rdisk0s1]]
 
|(Character device equivalent of disk0s1)
 
|(Character device equivalent of disk0s1)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/rdisk0|rdisk0]]
 
|*[[/dev/rdisk0|rdisk0]]
 
|(Character device equivalent of disk0)
 
|(Character device equivalent of disk0)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/random|random]]
 
|*[[/dev/random|random]]
 
|(Outputs random data)
 
|(Outputs random data)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/ptypf|ptypf]]
 
|*[[/dev/ptypf|ptypf]]
Line 189: Line 308:
 
|*[[/dev/pf|pf]]
 
|*[[/dev/pf|pf]]
 
|( [[wikipedia:PF (firewall)|firewall]] )
 
|( [[wikipedia:PF (firewall)|firewall]] )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/null|null]]
 
|*[[/dev/null|null]]
 
|(Doesn't output, discards input)
 
|(Doesn't output, discards input)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/mem|mem]]
 
|*[[/dev/mem|mem]]
 
|( public memory monitored by [[sandbox]] )
 
|( public memory monitored by [[sandbox]] )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/klog|klog]]
 
|*[[/dev/klog|klog]]
Line 200: Line 349:
 
|*[[/dev/kmem|kmem]]
 
|*[[/dev/kmem|kmem]]
 
|( private memory used to patch the [[kernel]] memory in [[userland]] jailbreak's )
 
|( private memory used to patch the [[kernel]] memory in [[userland]] jailbreak's )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/io8logmt|io8logmt]]
 
|*[[/dev/io8logmt|io8logmt]]
Line 205: Line 364:
 
|*[[/dev/io8log|io8log]]
 
|*[[/dev/io8log|io8log]]
 
|( replied AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 when opened [http://yfrog.com/hta56p] )
 
|( replied AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 when opened [http://yfrog.com/hta56p] )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/dlci.spi-baseband.sms|dlci.spi-baseband.sms]]
 
|*[[/dev/dlci.spi-baseband.sms|dlci.spi-baseband.sms]]
Line 247: Line 416:
 
|*[[/dev/disk1|disk1]]
 
|*[[/dev/disk1|disk1]]
 
|([[/Developer|Virtual drive for SDK tools image]])
 
|([[/Developer|Virtual drive for SDK tools image]])
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/disk0s2s1|disk0s2s1]]
 
|*[[/dev/disk0s2s1|disk0s2s1]]
Line 253: Line 432:
 
|*[[/dev/disk0s2|disk0s2]]
 
|*[[/dev/disk0s2|disk0s2]]
 
|(NAND, [[/private/var|user partition]])
 
|(NAND, [[/private/var|user partition]])
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/disk0s1|disk0s1]]
 
|*[[/dev/disk0s1|disk0s1]]
 
|(NAND, [[/|system partition]])
 
|(NAND, [[/|system partition]])
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/disk0|disk0]]
 
|*[[/dev/disk0|disk0]]
 
|([[NAND]])
 
|([[NAND]])
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/cu.umts|cu.umts]]
 
|*[[/dev/cu.umts|cu.umts]]
Line 278: Line 487:
 
|*[[/dev/cu.bluetooth|cu.bluetooth]]
 
|*[[/dev/cu.bluetooth|cu.bluetooth]]
 
|( primary Dev Node to comunicate with the bluetooth chip )
 
|( primary Dev Node to comunicate with the bluetooth chip )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/console|console]]
 
|*[[/dev/console|console]]
 
|(System console, displayed during a verbose boot)
 
|(System console, displayed during a verbose boot)
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/compass2_0|compass2_0]]
 
|*[[/dev/compass2_0|compass2_0]]
Line 293: Line 522:
 
|*[[/dev/btwake|btwake]]
 
|*[[/dev/btwake|btwake]]
 
|( sent to switch the bluetooth chip on from standby )
 
|( sent to switch the bluetooth chip on from standby )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/btreset|btreset]]
 
|*[[/dev/btreset|btreset]]
 
|( used if the bluetooth chip becomes unresponsive )
 
|( used if the bluetooth chip becomes unresponsive )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/bpf3|bpf3]]
 
|*[[/dev/bpf3|bpf3]]
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/bpf2|bpf2]]
 
|*[[/dev/bpf2|bpf2]]
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/bpf1|bpf1]]
 
|*[[/dev/bpf1|bpf1]]
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/bpf0|bpf0]]
 
|*[[/dev/bpf0|bpf0]]
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
 
|( [[wikipedia:Berkeley Packet Filter|Berkeley Packet Filter]] )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
 
|*[[/dev/aes_0|aes_0]]
 
|*[[/dev/aes_0|aes_0]]
 
|( used with a crypto bundle provided in [[XPwn]] to utilize the [[AES_Keys]] in userland )
 
|( used with a crypto bundle provided in [[XPwn]] to utilize the [[AES_Keys]] in userland )
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
  +
|{{yes}}
 
|-
 
|-
   

Revision as of 20:12, 26 October 2010

Summary

Device Nodes are here, as with any other standard UNIX system. The folder cannot be written to.

Key

Colors will show which devices the nodes are from. If it comes from two devices, use the 2 appropriate colors

device's iPhone iPhone3G iPhone 3G S iPhone 4 iPod touch iPod touch 2G iPod touch 3G iPod touch 4G iPad Apple TV
data from No No Yes Yes No Yes No No No No

Children

Files

Parents

node description iPhone iPhone3G iPhone 3G S iPhone 4 iPod touch iPod touch 2G iPod touch 3G iPod touch 4G iPad Apple TV
*zero (Outputs 0x0, discards input) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*vn1
*vn0
*urandom (Outputs pseudo-random data) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*uart.utms ( new data line added on the iPhone 4 ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*uart.iap
*uart.highland-park
*uart.gps
*uart.gas-gauge
*uart.debug
*uart.bluetooth ( Bluetooth Dev Node disabled by the kernel for power saving ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*ttypf
*ttype
*ttypd
*ttypc
*ttypb
*ttypa
*ttyp9
*ttyp8
*ttyp7
*ttyp6
*ttyp5
*ttyp4
*ttyp3
*ttyp2
*ttyp1
*ttyp0
*tty.umts
*tty.iap (Dock connector serial interface) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*tty.highland-park
*tty.gas-gauge (Battery meter) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*tty.debug (Baseband) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*tty.bluetooth
*tty
*sha1_0
*rdisk0s2s1 (Character device equivalent of disk0s2s1) No No Yes Yes No No Yes Yes Yes Yes
*rdisk0s2 (Character device equivalent of disk0s2) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*rdisk0s1 (Character device equivalent of disk0s1) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*rdisk0 (Character device equivalent of disk0) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*random (Outputs random data) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*ptypf
*ptype
*ptypd
*ptypc
*ptypb
*ptypa
*ptyp9
*ptyp8
*ptyp7
*ptyp6
*ptyp5
*ptyp4
*ptyp3
*ptyp2
*ptyp1
*ptyp0
*ptmx ( Posix terminal )
*pf ( firewall ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*null (Doesn't output, discards input) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*mem ( public memory monitored by sandbox ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*klog
*kmem ( private memory used to patch the kernel memory in userland jailbreak's ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*io8logmt
*io8log ( replied AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 when opened [1] ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*dlci.spi-baseband.sms ( compatibility node made by Cydia )
*dlci.spi-baseband.reg ( compatibility node made by Cydia )
*dlci.spi-baseband.pdp_ctl ( compatibility node made by Cydia )
*dlci.spi-baseband.pdp_3 ( compatibility node made by Cydia )
*dlci.spi-baseband.pdp_2 ( compatibility node made by Cydia )
*dlci.spi-baseband.pdp_1 ( compatibility node made by Cydia )
*dlci.spi-baseband.pdp_0 ( compatibility node made by Cydia )
*dlci.spi-baseband.low ( compatibility node made by Cydia )
*dlci.spi-baseband.iq ( compatibility node made by Cydia )
*dlci.spi-baseband.extra_13 ( compatibility node made by Cydia )
*dlci.spi-bseband.cl1 ( compatibility node made by Cydia )
*dlci.spi-baseband.chatty ( compatibility node made by Cydia )
*dlci.spi-baseband.call ( compatibility node made by Cydia )
*disk1 (Virtual drive for SDK tools image) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*disk0s2s1 (Encrypted user partition on 3GS?)
*disk0s2 (NAND, user partition) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*disk0s1 (NAND, system partition) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*disk0 (NAND) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*cu.umts
*cu.iap
*cu.highland-park ( camera )
*cu.gps (Something with GPS)
*cu.gas-gauge (Exclusive access to the battery meter)
*cu.debug (Exclusive access to Baseband used, for example, by BBUpdater)
*cu.bluetooth ( primary Dev Node to comunicate with the bluetooth chip ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*console (System console, displayed during a verbose boot) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*compass2_0 ( Gyroscope )
*compass1_0 ( This may exist... )
*compass_0 (Magnetometer)
*btwake ( sent to switch the bluetooth chip on from standby ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*btreset ( used if the bluetooth chip becomes unresponsive ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*bpf3 ( Berkeley Packet Filter ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*bpf2 ( Berkeley Packet Filter ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*bpf1 ( Berkeley Packet Filter ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*bpf0 ( Berkeley Packet Filter ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
*aes_0 ( used with a crypto bundle provided in XPwn to utilize the AES_Keys in userland ) Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes