diff --git a/omaha_request_params.h b/omaha_request_params.h
index 19a1900..f644775 100644
--- a/omaha_request_params.h
+++ b/omaha_request_params.h
@@ -44,7 +44,9 @@
         max_update_checks_allowed_(kDefaultMaxUpdateChecks),
         is_powerwash_allowed_(false),
         force_lock_down_(false),
-        forced_lock_down_(false) {
+        forced_lock_down_(false),
+        use_p2p_for_downloading_(false),
+        use_p2p_for_sharing_(false) {
     InitFromLsbValue();
   }
 
@@ -64,7 +66,9 @@
                      bool in_interactive,
                      const std::string& in_update_url,
                      bool in_update_disabled,
-                     const std::string& in_target_version_prefix)
+                     const std::string& in_target_version_prefix,
+                     bool in_use_p2p_for_downloading,
+                     bool in_use_p2p_for_sharing)
       : system_state_(system_state),
         os_platform_(in_os_platform),
         os_version_(in_os_version),
@@ -90,7 +94,9 @@
         max_update_checks_allowed_(kDefaultMaxUpdateChecks),
         is_powerwash_allowed_(false),
         force_lock_down_(false),
-        forced_lock_down_(false) {}
+        forced_lock_down_(false),
+        use_p2p_for_downloading_(in_use_p2p_for_downloading),
+        use_p2p_for_sharing_(in_use_p2p_for_sharing) {}
 
   // Setters and getters for the various properties.
   inline std::string os_platform() const { return os_platform_; }
@@ -171,6 +177,27 @@
     return max_update_checks_allowed_;
   }
 
+  inline void set_use_p2p_for_downloading(bool value) {
+    use_p2p_for_downloading_ = value;
+  }
+  inline bool use_p2p_for_downloading() const {
+    return use_p2p_for_downloading_;
+  }
+
+  inline void set_use_p2p_for_sharing(bool value) {
+    use_p2p_for_sharing_ = value;
+  }
+  inline bool use_p2p_for_sharing() const {
+    return use_p2p_for_sharing_;
+  }
+
+  inline void set_p2p_url(const std::string& value) {
+    p2p_url_ = value;
+  }
+  inline std::string p2p_url() const {
+    return p2p_url_;
+  }
+
   // True if we're trying to update to a more stable channel.
   // i.e. index(target_channel) > index(current_channel).
   bool to_more_stable_channel() const;
@@ -354,6 +381,18 @@
   bool force_lock_down_;
   bool forced_lock_down_;
 
+  // True if we may use p2p to download. This is based on owner
+  // preferences and policy.
+  bool use_p2p_for_downloading_;
+
+  // True if we may use p2p to share. This is based on owner
+  // preferences and policy.
+  bool use_p2p_for_sharing_;
+
+  // An URL to a local peer serving the requested payload or "" if no
+  // such peer is available.
+  std::string p2p_url_;
+
   // TODO(jaysri): Uncomment this after fixing unit tests, as part of
   // chromium-os:39752
   // DISALLOW_COPY_AND_ASSIGN(OmahaRequestParams);
