readline prototype