nvram_device স্ট্রাকট রেফারেন্স
#include < nvram.h >
ডেটা ক্ষেত্র | |
struct hw_device_t | সাধারণ |
nvram_result_t (* | get_total_size_in_bytes )(const struct nvram_device *device, uint64_t *total_size) |
nvram_result_t (* | get_available_size_in_bytes )(const struct nvram_device *device, uint64_t *available_size) |
nvram_result_t (* | get_max_space_size_in_bytes )(const struct nvram_device *device, uint64_t *max_space_size) |
nvram_result_t (* | get_max_spaces )(const struct nvram_device *device, uint32_t *সংখ্যা_স্পেস) |
nvram_result_t (* | get_space_list )(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
nvram_result_t (* | get_space_size )(const struct nvram_device *device, uint32_t সূচক, uint64_t *আকার) |
nvram_result_t (* | get_space_controls )(const struct nvram_device *device, uint32_t index, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
nvram_result_t (* | is_space_locked )(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
nvram_result_t (* | create_space )(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *authorization_value, uint32_t অনুমোদন_) |
nvram_result_t (* | delete_space )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | disable_create )(const struct nvram_device *ডিভাইস) |
nvram_result_t (* | write_space )(const struct nvram_device *device, uint32_t index, const uint8_t *বাফার, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | read_space )(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t *বাফার, uint64_t) * দ্বারা |
nvram_result_t (* | enable_write_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
nvram_result_t (* | enable_read_lock )(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
বিস্তারিত বিবরণ
ফিল্ড ডকুমেন্টেশন
struct hw_device_t common |
nvram_device- এর সাধারণ পদ্ধতি। এটি অবশ্যই nvram_device- এর প্রথম সদস্য হতে হবে কারণ এই কাঠামোর ব্যবহারকারীরা nvram_device পয়েন্টারে একটি hw_device_t কাস্ট করবে যেখানে এটি hw_device_t একটি nvram_device উল্লেখ করে।
nvram_result_t (* create_space)(const struct nvram_device *device, uint32_t index, uint64_t size_in_bytes, const nvram_control_t *control_list, uint32_t list_size, const uint8_t *অনুমোদন_value, uint_value2) |
প্রদত্ত সূচক, আকার, নিয়ন্ত্রণ এবং অনুমোদন মান সহ একটি নতুন স্থান তৈরি করে।
ডিভাইস - nvram_device উদাহরণ। index - নতুন স্থানের জন্য একটি সূচক। সূচী যেকোন 32-বিট মান হতে পারে কিন্তু ইতিমধ্যেই একটি বিদ্যমান স্থান নির্ধারণ করা উচিত নয়। size_in_bytes - স্থানের জন্য বরাদ্দ করা বাইটের সংখ্যা। নিয়ন্ত্রণ_তালিকা - স্থানের জন্য প্রয়োগ করার জন্য নিয়ন্ত্রণের একটি বিন্যাস। list_size - | কন্ট্রোল_লিস্ট | এ আইটেমের সংখ্যা। অনুমোদন_মূল্য - যদি |নিয়ন্ত্রণ_তালিকা| NV_CONTROL_READ_AUTHORIZATION এবং / অথবা NV_CONTROL_WRITE_AUTHORIZATION রয়েছে, তারপর এই প্যারামিটারটি এই নীতিগুলির জন্য অনুমোদনের মান প্রদান করে (যদি উভয় নিয়ন্ত্রণ সেট করা থাকে তবে এই মান উভয়ের ক্ষেত্রেই প্রযোজ্য)। অন্যথায়, এই মান উপেক্ষা করা হয় এবং NULL হতে পারে। authorization_value_size - |অথরাইজেশন_মান | এ বাইটের সংখ্যা।
nvram_result_t (* delete_space)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
একটি স্থান মুছে দেয়।
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। authorization_value - যদি স্থানটিতে NV_CONTROL_WRITE_AUTHORIZATION নীতি থাকে, তাহলে এই প্যারামিটারটি অনুমোদনের মান প্রদান করে। অন্যথায়, এই মান উপেক্ষা করা হয় এবং NULL হতে পারে। authorization_value_size - |অথরাইজেশন_মান | এ বাইটের সংখ্যা।
nvram_result_t (* disable_create)(const struct nvram_device *ডিভাইস) |
পরবর্তী সম্পূর্ণ ডিভাইস রিসেট না হওয়া পর্যন্ত স্পেস তৈরি করা অক্ষম করে (ফ্যাক্টরি রিসেটের মতো, রিবুট নয়)। NV_CreateSpace-এ পরবর্তী কলগুলি NV_RESULT_OPERATION_DISABLED ফেরত দেওয়া উচিত৷
ডিভাইস - nvram_device উদাহরণ।
nvram_result_t (* enable_read_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *authorization_value, uint32_t authorization_value_size) |
এর নীতি অনুযায়ী প্রদত্ত স্থানের জন্য একটি রিড লক সক্ষম করে৷ যদি স্থানটিতে NV_CONTROL_BOOT_READ_LOCK সেট না থাকে তবে এই ফাংশনটির কোন প্রভাব নেই এবং একটি ত্রুটি ফিরিয়ে দিতে পারে৷
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। authorization_value - যদি স্থানটিতে NV_CONTROL_READ_AUTHORIZATION নীতি থাকে, তাহলে এই প্যারামিটারটি অনুমোদনের মান প্রদান করে। (মনে রাখবেন যে পড়ার জন্য লক করার জন্য লেখার অ্যাক্সেসের কোন প্রয়োজন নেই। একটি পঠিত লক সর্বদা উদ্বায়ী হয়।) অন্যথায়, এই মানটি উপেক্ষা করা হয় এবং শূন্য হতে পারে। authorization_value_size - |অথরাইজেশন_মান | এ বাইটের সংখ্যা।
nvram_result_t (* enable_write_lock)(const struct nvram_device *device, uint32_t index, const uint8_t *অনুমোদন_মান, uint32_t অনুমোদন_মান_সাইজ) |
এর নীতি অনুযায়ী প্রদত্ত স্থানের জন্য একটি লিখন লক সক্ষম করে৷ যদি স্থানটিতে NV_CONTROL_PERSISTENT_WRITE_LOCK বা NV_CONTROL_BOOT_WRITE_LOCK সেট না থাকে তবে এই ফাংশনটির কোন প্রভাব নেই এবং একটি ত্রুটি ফিরিয়ে দিতে পারে৷
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। authorization_value - যদি স্থানটিতে NV_CONTROL_WRITE_AUTHORIZATION নীতি থাকে, তাহলে এই প্যারামিটারটি অনুমোদনের মান প্রদান করে। অন্যথায়, এই মান উপেক্ষা করা হয় এবং NULL হতে পারে। authorization_value_size - |অথরাইজেশন_মান | এ বাইটের সংখ্যা।
nvram_result_t (* get_available_size_in_bytes)(const struct nvram_device *device, uint64_t *available_size) |
এনভিআরএএম-এ উপলব্ধ বাইটের অনির্ধারিত সংখ্যা আউটপুট করে। যদি একটি বাস্তবায়ন উপলব্ধ আকার না জানে তবে এটি একটি অনুমান বা মোট আকার প্রদান করতে পারে।
ডিভাইস - nvram_device উদাহরণ। available_size - আউটপুট গ্রহণ করে। NULL হতে পারে না।
nvram_result_t (* get_max_space_size_in_bytes)(const struct nvram_device *device, uint64_t *max_space_size) |
একটি একক স্থানের জন্য বরাদ্দ করা যেতে পারে এমন সর্বাধিক সংখ্যক বাইট আউটপুট করে। এটি সর্বদা কমপক্ষে 32 হবে। যদি একটি বাস্তবায়ন সর্বোচ্চ আকার সীমাবদ্ধ না করে তবে এটি মোট আকার প্রদান করতে পারে।
ডিভাইস - nvram_device উদাহরণ। max_space_size - আউটপুট গ্রহণ করে। NULL হতে পারে না।
nvram_result_t (* get_max_spaces)(const struct nvram_device *device, uint32_t *সংখ্যা_স্পেস) |
বরাদ্দ করা হতে পারে এমন সর্বোচ্চ মোট সংখ্যক স্পেস আউটপুট করে। এটি সর্বদা কমপক্ষে 8 হবে। যেকোন সংখ্যক স্পেস সমর্থিত হলে NV_UNLIMITED_SPACES আউটপুট (শুধুমাত্র উপলব্ধ NVRAM বাইটে সীমিত)।
ডিভাইস - nvram_device উদাহরণ। num_spaces - আউটপুট গ্রহণ করে। NULL হতে পারে না।
nvram_result_t (* get_space_controls)(const struct nvram_device *device, uint32_t index, uint32_t max_list_size, nvram_control_t *control_list, uint32_t *list_size) |
একটি প্রদত্ত স্থানের সাথে সম্পর্কিত নিয়ন্ত্রণের তালিকা আউটপুট করে।
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। max_list_size - |নিয়ন্ত্রণ_তালিকাতে আইটেমের সংখ্যা অ্যারে control_list - প্রদত্ত |max_list_size| পর্যন্ত নিয়ন্ত্রণের তালিকা পায়। NULL হতে পারে যদি |max_list_size| হল 0. list_size - | কন্ট্রোল_লিস্ট NULL হয়।
nvram_result_t (* get_space_list)(const struct nvram_device *device, uint32_t max_list_size, uint32_t *space_index_list, uint32_t *list_size) |
তৈরি স্থান সূচকের একটি তালিকা আউটপুট করে। যদি |max_list_size| হল 0, শুধুমাত্র |list_size| জনবহুল।
ডিভাইস - nvram_device উদাহরণ। max_list_size - |space_index_list|-এ আইটেমের সংখ্যা অ্যারে space_index_list - প্রদত্ত |max_list_size| পর্যন্ত তৈরি স্থানগুলির তালিকা গ্রহণ করে। NULL হতে পারে যদি |max_list_size| হল 0. list_size - | স্পেস_ইনডেক্স_লিস্ট NULL হয়।
nvram_result_t (* get_space_size)(const struct nvram_device *device, uint32_t সূচক, uint64_t *আকার) |
একটি প্রদত্ত স্থানের আকার, বাইটে, আউটপুট করে।
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। আকার - আউটপুট গ্রহণ করে। NULL হতে পারে না।
nvram_result_t (* get_total_size_in_bytes)(const struct nvram_device *device, uint64_t *টোটাল_সাইজ) |
NVRAM-এ উপলব্ধ বাইটের মোট সংখ্যা আউটপুট করে। এটি সর্বদা কমপক্ষে 2048 হবে। যদি একটি বাস্তবায়ন মোট আকার না জানে তবে এটি একটি অনুমান বা 2048 প্রদান করতে পারে।
ডিভাইস - nvram_device উদাহরণ। total_size - আউটপুট গ্রহণ করে। NULL হতে পারে না।
nvram_result_t (* is_space_locked)(const struct nvram_device *device, uint32_t index, int *write_lock_enabled, int *read_lock_enabled) |
প্রদত্ত স্থানের জন্য লকগুলি সক্রিয় করা হয়েছে কিনা তা আউটপুট করে। যখন একটি লক সক্ষম করা হয়, তখন অপারেশনটি নিষ্ক্রিয় করা হয় এবং সেই অপারেশনটি সম্পাদন করার যেকোনো প্রচেষ্টার ফলে NV_RESULT_OPERATION_DISABLED হবে৷
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। write_lock_enabled - নন-জিরোতে সেট করা হবে যদি লেখার ক্রিয়াকলাপ বর্তমানে নিষ্ক্রিয় করা আছে। read_lock_enabled - নন-জিরোতে সেট করা হবে IF রিড অপারেশন বর্তমানে নিষ্ক্রিয়।
nvram_result_t (* read_space)(const struct nvram_device *device, uint32_t index, uint64_t num_bytes_to_read, const uint8_t *authorization_value, uint32_t authorization_value_size, uint8_t, * uint8_t * uint_buffer_4) |
একটি স্থানের বিষয়বস্তু পড়ে। যদি স্পেসটি কখনও লেখা না হয়, তবে পড়া সমস্ত বাইট 0x00 হবে।
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। num_bytes_to_read - পড়ার জন্য বাইটের সংখ্যা; |বাফার| এই অনেক বাইট রাখা যথেষ্ট বড় হতে হবে. যদি এটি স্থানের আকারের চেয়ে বেশি হয় তবে পুরো স্থানটি পড়া হয়। যদি এটি স্থানের আকারের চেয়ে কম হয়, তবে স্থানের প্রথম বাইটগুলি পড়া হয়। authorization_value - যদি স্থানটিতে NV_CONTROL_READ_AUTHORIZATION নীতি থাকে, তাহলে এই প্যারামিটারটি অনুমোদনের মান প্রদান করে। অন্যথায়, এই মান উপেক্ষা করা হয় এবং NULL হতে পারে। authorization_value_size - |অথরাইজেশন_মান | এ বাইটের সংখ্যা। বাফার - স্থান থেকে পঠিত ডেটা গ্রহণ করে। কমপক্ষে |num_bytes_to_read| হতে হবে আকারে বাইট। bytes_read - পড়া বাইট সংখ্যা। যদি NV_RESULT_SUCCESS ফেরত দেওয়া হয় তবে এটি |num_bytes_to_read| এর থেকে ছোটে সেট করা হবে। বা স্থানের আকার।
nvram_result_t (* write_space)(const struct nvram_device *device, uint32_t index, const uint8_t *বাফার, uint64_t buffer_size, const uint8_t *authorization_value, uint32_t authorization_value_size) |
একটি স্থানের বিষয়বস্তু লেখে। যদি স্থানটি NV_CONTROL_WRITE_EXTEND এর সাথে কনফিগার করা হয় তবে ইনপুট ডেটা বর্তমান ডেটা প্রসারিত করতে ব্যবহৃত হয়।
ডিভাইস - nvram_device উদাহরণ। সূচক - স্থান সূচক। বাফার - লেখার জন্য ডেটা। buffer_size - |buffer|-এ বাইটের সংখ্যা। যদি এটি স্থানের আকারের চেয়ে কম হয়, তবে অবশিষ্ট বাইটগুলি 0x00 এ সেট করা হবে। যদি এটি স্থানের আকারের চেয়ে বেশি হয়, NV_RESULT_INVALID_PARAMETER প্রদান করে। authorization_value - যদি স্থানটিতে NV_CONTROL_WRITE_AUTHORIZATION নীতি থাকে, তাহলে এই প্যারামিটারটি অনুমোদনের মান প্রদান করে। অন্যথায়, এই মান উপেক্ষা করা হয় এবং NULL হতে পারে। authorization_value_size - |অথরাইজেশন_মান | এ বাইটের সংখ্যা।
এই কাঠামোর জন্য ডকুমেন্টেশন নিম্নলিখিত ফাইল থেকে তৈরি করা হয়েছিল:
- hardware/libhadware/include/hardware/ nvram.h