Is there a way to identify other attributes/permissions of files in Posix? In particular, if a file is a socket, block device, character device, FIFO, UID bit, GID bit, or Sticky bit?