# # This file contains the definitions for the built-in # macros used by troff # # The format of the file is # macro # # Arguments are: # | Vertical bar # s String # n Numeric expression # c Single character # f Font specification # t Three-part title # # If followed by a * they can be repeated 0 or more # times # # Anything past a # is considered a comment br # Break ad s # Adjust margins na # No adjust nf # No fill fi # Fill nh # No hyphen hy n # Set hyphenation mode hw s* # Specify how to hyphenate words hc c # Hyphenation character ce n # Center lines ul n # Underline cu n # Continuous underline uf f # Select font for underline po | n # Page offset ll n # Line length in | n # Indent ti | n # Temporary indent pl | n # Page length bp n # Begin page pn n # Page number ne n # Specify need space mk s # Mark current location sp | n # Vertical space ps n # Point size vs | n # Vertical space ls n # Line spacing sv n # Save space os # Output saved space ns # Set no-space mode rs # Set restore-space mode ss n # Set character space size cs s n n # Constant space mode ft f # Specify font fp f n # Set font position fz f n # Font size request bd f n # Specify how to bold a font lg n # Select ligatures ta n* # Specify tabs tc c # Tab character lc c # Leader character fc c s # Field character lt | n # Title length pc c # Page character tl t # Title so s # Source another file nx s # Change to another file pi s # Pipe output to a program rd s # Read data from keyboard ex s # Exit tm s* # Send message to standard output ds s s # Define string as s s # Append string de s s # Define macro . # End of macro rm s # Remove macro rn s s # Rename macro am s s # Append to macro di s # Divert to macro da s # Append to diversion wh n s # Set place to execute macro ch s n # Change place macro executes dt n s # Set diversion trap it n s # Set input trap em s # Set macro for end of input nr s n n # Define number register af s c # Assign format rr s # Remove register mc c # Margin character ec c # Set escape character eo # Turn off escape cc c # Set control character c2 # Set second control character tr s # Translate characters nm n n n n # Line number nn n # No numbering ig s # Ignore input pm s # Print macros fl # Flush output ab s # Abort ev n # Set environment \" s* # Comment /input?h=nds-private-remove&id=67245ff332064c01b760afa7a384ccda024bfd24'>input/gamepad.txt
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-04-16 15:16:07 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2016-04-18 13:43:02 -0700
commit67245ff332064c01b760afa7a384ccda024bfd24 (patch)
treebf77d422b16306ba9fdcf2f7e1f340a409f8a0f6 /Documentation/input/gamepad.txt
parent2e572599139d27db3aaf540b0d34f0a4f58dfca1 (diff)
devpts: clean up interface to pty drivers
This gets rid of the horrible notion of having that struct inode *ptmx_inode be the linchpin of the interface between the pty code and devpts. By de-emphasizing the ptmx inode, a lot of things actually get cleaner, and we will have a much saner way forward. In particular, this will allow us to associate with any particular devpts instance at open-time, and not be artificially tied to one particular ptmx inode. The patch itself is actually fairly straightforward, and apart from some locking and return path cleanups it's pretty mechanical: - the interfaces that devpts exposes all take "struct pts_fs_info *" instead of "struct inode *ptmx_inode" now. NOTE! The "struct pts_fs_info" thing is a completely opaque structure as far as the pty driver is concerned: it's still declared entirely internally to devpts. So the pty code can't actually access it in any way, just pass it as a "cookie" to the devpts code. - the "look up the pts fs info" is now a single clear operation, that also does the reference count increment on the pts superblock. So "devpts_add/del_ref()" is gone, and replaced by a "lookup and get ref" operation (devpts_get_ref(inode)), along with a "put ref" op (devpts_put_ref()). - the pty master "tty->driver_data" field now contains the pts_fs_info, not the ptmx inode. - because we don't care about the ptmx inode any more as some kind of base index, the ref counting can now drop the inode games - it just gets the ref on the superblock. - the pts_fs_info now has a back-pointer to the super_block. That's so that we can easily look up the information we actually need. Although quite often, the pts fs info was actually all we wanted, and not having to look it up based on some magical inode makes things more straightforward. In particular, now that "devpts_get_ref(inode)" operation should really be the *only* place we need to look up what devpts instance we're associated with, and we do it exactly once, at ptmx_open() time. The other side of this is that one ptmx node could now be associated with multiple different devpts instances - you could have a single /dev/ptmx node, and then have multiple mount namespaces with their own instances of devpts mounted on /dev/pts/. And that's all perfectly sane in a model where we just look up the pts instance at open time. This will eventually allow us to get rid of our odd single-vs-multiple pts instance model, but this patch in itself changes no semantics, only an internal binding model. Cc: Eric Biederman <ebiederm@xmission.com> Cc: Peter Anvin <hpa@zytor.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Al Viro <viro@zeniv.linux.org.uk> Cc: Peter Hurley <peter@hurleysoftware.com> Cc: Serge Hallyn <serge.hallyn@ubuntu.com> Cc: Willy Tarreau <w@1wt.eu> Cc: Aurelien Jarno <aurelien@aurel32.net> Cc: Alan Cox <gnomes@lxorguk.ukuu.org.uk> Cc: Jann Horn <jann@thejh.net> Cc: Greg KH <greg@kroah.com> Cc: Jiri Slaby <jslaby@suse.com> Cc: Florian Weimer <fw@deneb.enyo.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'Documentation/input/gamepad.txt')