diff --git a/quic/core/tls_server_handshaker.h b/quic/core/tls_server_handshaker.h
index 1e9b497..e27d896 100644
--- a/quic/core/tls_server_handshaker.h
+++ b/quic/core/tls_server_handshaker.h
@@ -61,6 +61,14 @@
   // |ssl|.
   static int SelectCertificateCallback(SSL* ssl, int* out_alert, void* arg);
 
+  // Calls SelectAlpn after looking up the TlsServerHandshaker from |ssl|.
+  static int SelectAlpnCallback(SSL* ssl,
+                                const uint8_t** out,
+                                uint8_t* out_len,
+                                const uint8_t* in,
+                                unsigned in_len,
+                                void* arg);
+
  private:
   class SignatureCallback : public ProofSource::SignatureCallback {
    public:
@@ -148,6 +156,12 @@
   // |*out_alert| the TLS alert value that the server will send.
   int SelectCertificate(int* out_alert);
 
+  // Selects which ALPN to use based on the list sent by the client.
+  int SelectAlpn(const uint8_t** out,
+                 uint8_t* out_len,
+                 const uint8_t* in,
+                 unsigned in_len);
+
   static TlsServerHandshaker* HandshakerFromSsl(SSL* ssl);
 
   State state_ = STATE_LISTENING;
